CSScriptvOC


CSScriptɂ

PMXGfB^̃vOC@\AXNvgƂĒڎs邱Ƃ̂łvOCłB
ł̓vOCDLL𐶐Ă̂ŁAʏ̃vOCƓ̋@\s邱Ƃ\łB

A{vOCɂ̓XNvgҏWpɊȈՃGfB^𓋍ڂĂ܂A
͍Œ̕ҏW@\LĂ܂B

CeZX@\ȂVisualStudiô悤Ȉ₷ҏWT|[g@\͂܂̂ŁA
vOC^XNvg쐬ɂĂ͕ҏWeɑ΂ēKXIĂB

.NET Framework4.0K{



Ƃ肠Tv

j[[\] - [TvXNvg]@i܂F1L[

TvXNvgꗗ\܂(IƓeEɕ\܂)
ҏWj[(܂͉ENbNj[)AI𒆂̃TvXNvgJƂ\Ȃ̂ŁA
ۂɎs(p[^lύXȂǂ)AĂ݂ĂB

PMD̃KV[ł̃TvƂȂ܂BPMXPMDƂ̌݊̂ŎQlɂĂB






 @\


ʍ\

FXNvgR[hҏW
EFXNvgs{^
Frhʏo

ƂȂĂ܂B

R[hҏWɂẮuʌ`vƁuȈՌ`vI邱Ƃ\(㕔^u)ŁAꂼʊǗƂȂĂ܂B

R[h쐬AE̎s{^(܂̓j[[rh]-[s]^F5)AXNvgs邱Ƃ\łB
rhs͏o͌ʂɃG[s\܂̂ŁA𗊂ɃR[heCĂB


ʌ`
ʓIȃvOC쐬`B
C#ɂʏ̃\[Xt@CƂĕҏW\łBt@C̃C|[g͂ł܂(AZuƂĒǉQƂ邱Ƃ͉\)

ȈՌ`
ʌ`ɂĂ Run() ֐̏ɂ̂ݓċLq\łBNX⃁o֐Ȃǂ`邱Ƃ͂ł܂B
ɐp̃wb_^tb^R[hpӂĂAǏIȕҏWɓXNvgȈՂɋLq邱Ƃ\łB




QƐݒ

AZuQƂݒ肵܂B.NETt[[N̋@\⎩̃AZu@\gp邽߁A
rhQƂɒǉKv܂B

[rh] - [AZuQƒǉ] VXeɓo^ĂAZuꗗ\܂B

N͓ǂݍ݂̂߂Ȃ莞Ԃ܂B܂ꕔ̃AZu͕\Ȃꍇ܂B

̎QƃAZuXgo^ς݂̃AZuB㕔XgCӂɑIǉ邱Ƃ\łB
OAZuɂĂ[t@C]j[璼DLL(܂exet@C)w肵ĂB

OI PEPlugin.dll(vOCDLL) SlimDX.DLLɂĂ͎IɒǉĂ܂
(AZuXgɂ͂܂񂪁Aʒǉ̕Kv͂܂)



usingݒ

ʌ`^ȈՌ`ɂċpŎgp usingڂʘgŕҏW܂B
[ҏW] - [usingڕҏW] ҏWʂ\܂B

ʌ`ł̓R[hɒusingڂLq邱Ƃ\łB
`ɑ΂Ă̋ʃwb_R[hƂĎgƂꉞ\(񐄏)



wb_^tb^R[h

ȈՌ`̃R[hɎIɒǉR[hełB
WݒŁAwb_ɂPMX̎擾^eڑϐ̒`Atb^ɂPMX^Form^View̍XV LqĂ܂B

e̕ҏẂA[ҏW] - [wb_(tb^)R[hҏW] sƂ\łB
L^ݒ́A[rh] - [ȈՌ`:wb_(tb^)R[hǉ] ɂă`FbNwKv܂B

WԂŃtb^R[h͖BTv̓eɂĂ͕WŗLȃXNvg܂B



R[h̑S̑

ʌ`

[AZuQ]

using
{
ʌ`ɋLqꂽR[h


ȈՌ`

[AZuQ]

using
{
(vOCp̃NX`Jn)
{
wb_R[h(L)
{
ȈՌ`ɋLqꂽR[h
{
tb^R[h(L)
{
(vOCp̃NX`I)


ƂȂ܂BG[̕\s͂̑R[hԂł̍sʒuƂȂ܂̂łӂ
(Xe[^X\(XNvgGfB^)ł̍sʒu͒)



ȈՌ`̈ʉ

[ҏW] - [ȈՌ`ʌ`֕ϊ] ȈՌ`ɋLqR[hʉ邱Ƃ\łB

̍ۈʌ`ɋLqĂe͔j܂̂łӂB

ȈՌ`ɋLqeŃvOC(q)ꍇȂǂɊpĂB




XNvg̕ۑ^ǂݍ

쐬XNvg͐p̃f[^t@C(*.cx gxml)ɕۑ邱Ƃ\łB
ǂݍ݂̓t@Cj[A܂D&DōsƂ\łB



vOCDLL̐

݂̃XNvgW̃vOCDLLƂĊO܂B

[t@C] - [vOCDLL]

IADLLw肷邱ƂŃvOCDLL܂B
ꂽvOCPMXGfB^ċNɗLɂȂ܂(vOCtH_ȉɔzu^NɈꊇǂݍ݂̂)

ӓ_ƂāAȈՌ`ō쐬vOCDLL͓o^j[SēW("CSScriptvOC")ɂȂ܂B

̏ꍇAUʌ`֕ϊAΏۂ̓o^j[ύX邱ƂŌʑΉ\ƂȂ܂B
AȈՌ`ŃvOC𐶐悤ƂꍇAxbZ[W\܂B









 R[hҏWqg


XNvgR[hC#ŋLqKv܂B͒ʏ.NETdlł̂ŁA.NETƂ̘AgȂƎv܂B

PEPlugin ̊ef[^́AvOCf[^ꗗ([\]-[vOCf[^ꗗ])ŕ\TuEBhEA
R[h֊ȈՂɃy[Xgǉ邱Ƃ\łB

^AI\E^̃o(vpeB֐)ɂȂ܂B

ꂼENbNj[AXNvg֒ǉ邱Ƃł܂(_uNbNł\)

óAϐ(argspmx)̒ZnƂĒǉ邱Ƃ\ƂȂĂ܂A
ʌ`ł͎Oɒ`Kv܂("args"͒`)BȈՌ`ł͖肠܂(Wwb_ɂđSĒ`)


vOCf[^͐ɕ\^H邱ƂŊeoQƂĂB
o^Pɂ鎩⊮@\Ă܂AΏۂ̑Ŝߎ舵͓ł(o^P̒ǉύX@\͎)


\L̎d

\FOt@C

"eLXg" -> "" ŊKvB
'\'͓ʈɂȂ̂Œ("\\"ƂKvBʓ|ȏꍇ@"aaa\bbb\ccc"@""ŊOK)

string miku = "eLXg";       //  : string
string path = @"tex\a1.bmp";    // @tȂꍇ "tex\\a1.bmp"


l\Ff[^l

1, 2, 10 etc -> 
1.0, 2.0, 10.0 ->  

vOCł͎float(Px)ǗȂ̂ŁA1.0f, 2.0f, 10.0f Ɩ'f'tKvB
Afloatw̕ɐݒ肷ƎIɕϊB

lԂ̕ϊ̓LXg\ɂĉ\
int n1;
float f1 = 10.5f;
n1 = (int)f1;	// n1:10ɂȂ


l\FxNg

IPEVector3 p = args.Host.Builder.CreateVector3(0.0f, 1.0f, 2.0f);      // (x,y,z) = (0.0f, 1.0f, 2.0f)
IPEVector3 p = args.Host.Builder.SC.V3();          // Z` ȈՌ`̏ꍇ bd.V3(0.0f, 1.0f, 2.0f) łOK

p.X, p.Y, p.Z		// gꍇ


l\FSlimDXڑ

SlimDXւ̋ns߂̓NX(\̂ł̒l^ł͂Ȃ̂Œ)

[Plugin]   - [p] - [SlimDX]
IPEVector4 -   V4   - Vector4^Color4
IPEVector3 -   V3   - Vector3^Color3
IPEVector2 -   V2   - Vector2
IPEMatrix  -    M   - Matrix
IPEQuaternion - Q   - Quaternion


p
V3 v1 = new V3(1,2,3);	// \

IPEVector3 v2 = new V3();	// vOCC^[tFCXւ̒ڑ\
Vector3 v3 = new V3(0,0,0);	// SlimDXւ̒ڑ\

v2 = v1;	// vOCւ̎ϊOK
v3 = v1;	// SlimDXւ̎ϊOK

IPEVector3 v4 = new V3(v3);	// pŃvOCC^[tFCXSlimDXԂ̋n\(tOK)

float rad = Q.DegToRad(15);	// 15xWAlɕϊ(Œ@\)


̃NXH
SlimDXł͍\(l^)ɂĂ܂A
dlɂʃvpeBւ̑ꍇA
XNvgƂĂ̋LqώGɂȂ邱Ƃ\ẑŁANXƂĎĂ܂B

AXNvgォSlimDX̋@\͔CӂɈ̂ŁAnꕔ̓@\ɂĂ̎gpz肵Ă܂B



Ɛl̕ϊ

lFToString()
int i = 100;
i.ToString();		// "100" ƂȂ

float f = -2.5;
f.ToString();		// "-2.5" ƂȂ


񁨐l:Parse()
string str = "100";
int i = int.Parse(str);	     // i = 100 ƂȂ
float f = float.Parse(str);  // f = 100.0f ƂȂ



bZ[W\

MessageBox.Show("Hello CSScript.");	// bZ[W\

ڍׂC#y.NET̉QƂĂB




