public static bool Get(object o, TValue key, out TValue res) { Reimu character = (Reimu)o; res = new TValue(); if (key.TtIsString()) { switch (key.SValue()) { case "x": { res.SetNValue(character.GetPosition().x); return(true); } case "y": { res.SetNValue(character.GetPosition().y); return(true); } case "SetPos": { res.SetClCsValue(_funcSetPos); return(true); } case "GetPos": { res.SetClCsValue(_funcGetPos); return(true); } case "characterIndex": { res.SetNValue(character.CharacterIndex); return(true); } } } res.SetSValue(string.Format("GetField from userData fail!Invalid key {0} for type {1}", key, typeof(Reimu).Name)); return(false); }
public static StkId GetFunction(this LuaTable table, int key) { if (0 < key && key - 1 < table.ArrayPart.Length) { return(table.ArrayPart[key - 1]); } var k = new TValue(); k.SetNValue(key); for (var node = table.GetHashNode(ref k); node != null; node = node.Next) { if (node.Val.V.TtIsFunction()) { return(node.Val); } } return(LuaTable.TheNilValue); }
public static bool Get(object o, TValue key, out TValue res) { EnemyCurveLaser bullet = (EnemyCurveLaser)o; res = new TValue(); if (key.TtIsString()) { switch (key.SValue()) { #region 基础变量 case "x": { res.SetNValue(bullet.GetPosition().x); return(true); } case "y": { res.SetNValue(bullet.GetPosition().y); return(true); } case "rot": { res.SetNValue(bullet.GetRotation()); return(true); } case "dx": { res.SetNValue(bullet.dx); return(true); } case "dy": { res.SetNValue(bullet.dy); return(true); } #endregion #region 运动相关变量 case "v": { res.SetNValue(bullet.velocity); return(true); } case "vx": { res.SetNValue(bullet.vx); return(true); } case "vy": { res.SetNValue(bullet.vy); return(true); } case "vAngle": { res.SetNValue(bullet.vAngle); return(true); } case "maxV": { res.SetNValue(bullet.maxVelocity); return(true); } case "acce": { res.SetNValue(bullet.acce); return(true); } case "accAngle": { res.SetNValue(bullet.accAngle); return(true); } #endregion #region 子弹类专属变量 case "timer": { res.SetNValue(bullet.timeSinceCreated); return(true); } case "SetSelfRotation": { res.SetClCsValue(_funcSetSelfRotaion); return(true); } case "SetStyleById": { res.SetClCsValue(_funcSetStyleById); return(true); } #endregion #region 运动类专属方法 ISTGMovable case "SetV": { res.SetClCsValue(_funcSetV); return(true); } case "SetAcce": { res.SetClCsValue(_funcSetAcce); return(true); } case "SetStraightParas": { res.SetClCsValue(_funcSetStraightParas); return(true); } case "SetPolarParas": { res.SetClCsValue(_funcSetPolarParas); return(true); } case "MoveTo": { res.SetClCsValue(_funcMoveTo); return(true); } case "MoveTowards": { res.SetClCsValue(_funcMoveTowards); return(true); } case "SetPos": { res.SetClCsValue(_funcSetPos); return(true); } case "GetPos": { res.SetClCsValue(_funcGetPos); return(true); } #endregion #region IAttachable case "AttachTo": { res.SetClCsValue(_funcAttachTo); return(true); } case "SetRelativePos": { res.SetClCsValue(_funcSetRelativePos); return(true); } #endregion #region Component case "AddTask": { res.SetClCsValue(_funcAddTask); return(true); } case "ChangeProperty": { res.SetClCsValue(_funcChangeProperty); return(true); } #endregion #region 激光相关 case "SetWidth": { res.SetClCsValue(_funcSetWidth); return(true); } case "SetLength": { res.SetClCsValue(_funcSetLength); return(true); } #endregion } } res.SetSValue(string.Format("GetField from userData fail!Invalid key {0} for type {1}", key, typeof(EnemyCurveLaser).Name)); return(false); }
public static bool Get(object o, TValue key, out TValue res) { Boss enemy = (Boss)o; res = new TValue(); if (key.TtIsString()) { switch (key.SValue()) { #region 基础变量 case "x": { res.SetNValue(enemy.GetPosition().x); return(true); } case "y": { res.SetNValue(enemy.GetPosition().y); return(true); } case "rot": { res.SetNValue(enemy.GetRotation()); return(true); } case "dx": { res.SetNValue(enemy.dx); return(true); } case "dy": { res.SetNValue(enemy.dy); return(true); } case "SetPos": { res.SetClCsValue(_funcSetPos); return(true); } case "GetPos": { res.SetClCsValue(_funcGetPos); return(true); } #endregion #region 运动相关变量 case "v": { res.SetNValue(enemy.velocity); return(true); } case "vx": { res.SetNValue(enemy.vx); return(true); } case "vy": { res.SetNValue(enemy.vy); return(true); } case "vAngle": { res.SetNValue(enemy.vAngle); return(true); } case "maxV": { res.SetNValue(enemy.maxVelocity); return(true); } case "acce": { res.SetNValue(enemy.acce); return(true); } case "accAngle": { res.SetNValue(enemy.accAngle); return(true); } #endregion #region 运动类专属方法 ISTGMovable case "SetV": { res.SetClCsValue(_funcSetV); return(true); } case "SetAcce": { res.SetClCsValue(_funcSetAcce); return(true); } case "SetPolarParas": { res.SetClCsValue(_funcSetPolarParas); return(true); } case "MoveTo": { res.SetClCsValue(_funcMoveTo); return(true); } case "MoveTowards": { res.SetClCsValue(_funcMoveTowards); return(true); } #endregion #region IAttachable case "AttachTo": { res.SetClCsValue(_funcAttachTo); return(true); } case "SetRelativePos": { res.SetClCsValue(_funcSetRelativePos); return(true); } #endregion #region ITaskExecuter case "AddTask": { res.SetClCsValue(_funcAddTask); return(true); } #endregion #region 敌机专属变量 case "SetMaxHp": res.SetClCsValue(_funcSetMaxHp); return(true); case "SetCollisionSize": res.SetClCsValue(_funcSetCollisionSize); return(true); case "SetAni": res.SetClCsValue(_funcSetAni); return(true); case "SetWanderRange": res.SetClCsValue(_funcSetWanderRange); return(true); case "SetWanderAmplitude": res.SetClCsValue(_funcSetWanderAmplitude); return(true); case "SetWanderMode": res.SetClCsValue(_funcSetWanderMode); return(true); case "Wander": res.SetClCsValue(_funcWander); return(true); case "SetInteractive": res.SetClCsValue(_funcSetInteractive); return(true); case "PlayAni": res.SetClCsValue(_funcPlayAni); return(true); #endregion #region Boss专属变量 case "SetInvincible": res.SetClCsValue(_funcSetInvincible); return(true); case "ShowBloodBar": res.SetClCsValue(_funcShowBloodBar); return(true); case "SetPhaseData": res.SetClCsValue(_funcSetPhaseData); return(true); case "ShowPosHint": res.SetClCsValue(_funcShowPosHint); return(true); case "ShowAura": res.SetClCsValue(_funcShowAura); return(true); case "ShowSpellCardHpAura": res.SetClCsValue(_funcShowSCHpAura); return(true); #endregion } } res.SetSValue(string.Format("GetField from userData fail!Invalid key {0} for type {1}", key, typeof(Boss).Name)); return(false); }
public static bool Get(object o, TValue key, out TValue res) { ColliderItalicRect collider = (ColliderItalicRect)o; res = new TValue(); if (key.TtIsString()) { switch (key.SValue()) { #region 基础变量 case "x": { res.SetNValue(collider.GetPosition().x); return(true); } case "y": { res.SetNValue(collider.GetPosition().y); return(true); } case "rot": { res.SetNValue(collider.GetRotation()); return(true); } case "dx": { res.SetNValue(collider.dx); return(true); } case "dy": { res.SetNValue(collider.dy); return(true); } case "SetPos": { res.SetClCsValue(_funcSetPos); return(true); } case "GetPos": { res.SetClCsValue(_funcGetPos); return(true); } #endregion #region 运动相关变量 case "v": { res.SetNValue(collider.velocity); return(true); } case "vx": { res.SetNValue(collider.vx); return(true); } case "vy": { res.SetNValue(collider.vy); return(true); } case "vAngle": { res.SetNValue(collider.vAngle); return(true); } case "maxV": { res.SetNValue(collider.maxVelocity); return(true); } case "acce": { res.SetNValue(collider.acce); return(true); } case "accAngle": { res.SetNValue(collider.accAngle); return(true); } #endregion #region Collider类专属变量 case "SetCollisionGroup": { res.SetClCsValue(_funcSetCollisionGroup); return(true); } case "SetSize": { res.SetClCsValue(_funcSetSize); return(true); } case "SetExistDuration": { res.SetClCsValue(_funcSetExistDuration); return(true); } #endregion #region 运动类专属方法 ISTGMovable case "SetV": { res.SetClCsValue(_funcSetV); return(true); } case "SetAcce": { res.SetClCsValue(_funcSetAcce); return(true); } case "SetStraightParas": { res.SetClCsValue(_funcSetStraightParas); return(true); } case "SetPolarParas": { res.SetClCsValue(_funcSetPolarParas); return(true); } case "MoveTo": { res.SetClCsValue(_funcMoveTo); return(true); } case "MoveTowards": { res.SetClCsValue(_funcMoveTowards); return(true); } #endregion #region IAttachable case "AttachTo": { res.SetClCsValue(_funcAttachTo); return(true); } case "SetRelativePos": { res.SetClCsValue(_funcSetRelativePos); return(true); } #endregion #region ITaskExecuter case "AddTask": { res.SetClCsValue(_funcAddTask); return(true); } #endregion } } res.SetSValue(string.Format("GetField from userData fail!Invalid key {0} for type {1}", key, typeof(ColliderItalicRect).Name)); return(false); }
public static bool Get(object o, TValue key, out TValue res) { STGSpriteEffect sprite = (STGSpriteEffect)o; res = new TValue(); if (key.TtIsString()) { switch (key.SValue()) { #region 基础变量 case "x": { res.SetNValue(sprite.GetPosition().x); return(true); } case "y": { res.SetNValue(sprite.GetPosition().y); return(true); } case "rot": { res.SetNValue(sprite.GetRotation()); return(true); } case "dx": { res.SetNValue(sprite.dx); return(true); } case "dy": { res.SetNValue(sprite.dy); return(true); } case "SetPos": { res.SetClCsValue(_funcSetPos); return(true); } case "GetPos": { res.SetClCsValue(_funcGetPos); return(true); } #endregion #region 运动相关变量 case "v": { res.SetNValue(sprite.velocity); return(true); } case "vx": { res.SetNValue(sprite.vx); return(true); } case "vy": { res.SetNValue(sprite.vy); return(true); } case "vAngle": { res.SetNValue(sprite.vAngle); return(true); } case "maxV": { res.SetNValue(sprite.maxVelocity); return(true); } case "acce": { res.SetNValue(sprite.acce); return(true); } case "accAngle": { res.SetNValue(sprite.accAngle); return(true); } #endregion #region STGObject类专属变量 case "SetSprite": { res.SetClCsValue(_funcSetSprite); return(true); } case "SetColor": { res.SetClCsValue(_funcSetColor); return(true); } case "SetSize": { res.SetClCsValue(_funcSetSize); return(true); } case "ChangeAlphaTo": { res.SetClCsValue(_funcChangeAlphaTo); return(true); } case "SetBlendMode": { res.SetClCsValue(_funcSetBlendMode); return(true); } case "alpha": { res.SetNValue(sprite.alpha); return(true); } case "SetPrefab": { res.SetClCsValue(_funcSetPrefab); return(true); } case "SetMaterialFloat": { res.SetClCsValue(_funcSetMaterialFloat); return(true); } case "SetMaterialInt": { res.SetClCsValue(_funcSetMaterialInt); return(true); } case "SetMaterialColor": { res.SetClCsValue(_funcSetMaterialColor); return(true); } #endregion #region 运动类专属方法 ISTGMovable case "SetV": { res.SetClCsValue(_funcSetV); return(true); } case "SetAcce": { res.SetClCsValue(_funcSetAcce); return(true); } case "SetStraightParas": { res.SetClCsValue(_funcSetStraightParas); return(true); } case "SetPolarParas": { res.SetClCsValue(_funcSetPolarParas); return(true); } case "MoveTo": { res.SetClCsValue(_funcMoveTo); return(true); } case "MoveTowards": { res.SetClCsValue(_funcMoveTowards); return(true); } #endregion #region IAttachable case "AttachTo": { res.SetClCsValue(_funcAttachTo); return(true); } case "SetRelativePos": { res.SetClCsValue(_funcSetRelativePos); return(true); } #endregion #region ITaskExecuter case "AddTask": { res.SetClCsValue(_funcAddTask); return(true); } #endregion } } res.SetSValue(string.Format("GetField from userData fail!Invalid key {0} for type {1}", key, typeof(STGSpriteEffect).Name)); return(false); }
public static bool Get(object o, TValue key, out TValue res) { EnemySimpleBullet bullet = (EnemySimpleBullet)o; res = new TValue(); if (key.TtIsString()) { switch (key.SValue()) { #region 基础变量 case "x": { res.SetNValue(bullet.GetPosition().x); return(true); } case "y": { res.SetNValue(bullet.GetPosition().y); return(true); } case "rot": { res.SetNValue(bullet.GetRotation()); return(true); } case "dx": { res.SetNValue(bullet.dx); return(true); } case "dy": { res.SetNValue(bullet.dy); return(true); } case "id": { res.SetNValue(int.Parse(bullet.BulletId)); return(true); } #endregion #region 运动相关变量 case "v": { res.SetNValue(bullet.Velocity); return(true); } case "vx": { res.SetNValue(bullet.Vx); return(true); } case "vy": { res.SetNValue(bullet.Vy); return(true); } case "vAngle": { res.SetNValue(bullet.VAngle); return(true); } case "maxV": { res.SetNValue(bullet.MaxVelocity); return(true); } case "acce": { res.SetNValue(bullet.Acce); return(true); } case "accAngle": { res.SetNValue(bullet.AccAngle); return(true); } #endregion #region 子弹类专属变量 case "timer": { res.SetNValue(bullet.timeSinceCreated); return(true); } case "alpha": { res.SetNValue(bullet.alpha); return(true); } case "SetSelfRotation": { res.SetClCsValue(_funcSetSelfRotaion); return(true); } case "SetStyleById": { res.SetClCsValue(_funcSetStyleById); return(true); } case "SetResistEliminatedTypes": { res.SetClCsValue(_funcSetResistEliminatedTypes); return(true); } case "SetColor": { res.SetClCsValue(_funcSetColor); return(true); } #endregion #region SimpleBullet 专属变量 case "DisableAppearEffect": { res.SetClCsValue(_funcDisableAppearEffect); return(true); } case "SetScale": { res.SetClCsValue(_funcSetScale); return(true); } #endregion #region 运动类专属方法 ISTGMovable case "SetV": { res.SetClCsValue(_funcSetV); return(true); } case "SetAcce": { res.SetClCsValue(_funcSetAcce); return(true); } case "SetStraightParas": { res.SetClCsValue(_funcSetStraightParas); return(true); } case "SetPolarParas": { res.SetClCsValue(_funcSetPolarParas); return(true); } case "MoveTo": { res.SetClCsValue(_funcMoveTo); return(true); } case "MoveTowards": { res.SetClCsValue(_funcMoveTowards); return(true); } case "SetPos": { res.SetClCsValue(_funcSetPos); return(true); } case "GetPos": { res.SetClCsValue(_funcGetPos); return(true); } #endregion #region IAttachable case "AttachTo": { res.SetClCsValue(_funcAttachTo); return(true); } case "SetRelativePos": { res.SetClCsValue(_funcSetRelativePos); return(true); } #endregion #region ITaskExecuter case "AddTask": { res.SetClCsValue(_funcAddTask); return(true); } #endregion #region Component case "AddColliderTrigger": { res.SetClCsValue(_funcAddColliderTrigger); return(true); } case "AddRebound": { res.SetClCsValue(_funcAddRebound); return(true); } case "ChangeProperty": { res.SetClCsValue(_funcChangeProperty); return(true); } #endregion } } res.SetSValue(string.Format("GetField from userData fail!Invalid key {0} for type {1}", key, typeof(EnemySimpleBullet).Name)); return(false); }
public static bool Get(object o, TValue key, out TValue res) { NormalEnemy enemy = (NormalEnemy)o; res = new TValue(); if (key.TtIsString()) { switch (key.SValue()) { #region 基础变量 case "x": { res.SetNValue(enemy.GetPosition().x); return(true); } case "y": { res.SetNValue(enemy.GetPosition().y); return(true); } case "rot": { res.SetNValue(enemy.GetRotation()); return(true); } case "dx": { res.SetNValue(enemy.dx); return(true); } case "dy": { res.SetNValue(enemy.dy); return(true); } case "SetPos": { res.SetClCsValue(_funcSetPos); return(true); } case "GetPos": { res.SetClCsValue(_funcGetPos); return(true); } #endregion #region 运动相关变量 case "v": { res.SetNValue(enemy.velocity); return(true); } case "vx": { res.SetNValue(enemy.vx); return(true); } case "vy": { res.SetNValue(enemy.vy); return(true); } case "vAngle": { res.SetNValue(enemy.vAngle); return(true); } case "maxV": { res.SetNValue(enemy.maxVelocity); return(true); } case "acce": { res.SetNValue(enemy.acce); return(true); } case "accAngle": { res.SetNValue(enemy.accAngle); return(true); } #endregion #region 运动类专属方法 ISTGMovable case "SetV": { res.SetClCsValue(_funcSetV); return(true); } case "SetAcce": { res.SetClCsValue(_funcSetAcce); return(true); } case "SetStraightParas": { res.SetClCsValue(_funcSetStraightParas); return(true); } case "SetPolarParas": { res.SetClCsValue(_funcSetPolarParas); return(true); } case "MoveTo": { res.SetClCsValue(_funcMoveTo); return(true); } case "MoveTowards": { res.SetClCsValue(_funcMoveTowards); return(true); } #endregion #region IAttachable case "AttachTo": { res.SetClCsValue(_funcAttachTo); return(true); } case "SetRelativePos": { res.SetClCsValue(_funcSetRelativePos); return(true); } #endregion #region ITaskExecuter case "AddTask": { res.SetClCsValue(_funcAddTask); return(true); } #endregion #region 敌机专属变量 case "SetMaxHp": res.SetClCsValue(_funcSetMaxHp); return(true); case "SetCollisionSize": res.SetClCsValue(_funcSetCollisionSize); return(true); case "SetDropItems": res.SetClCsValue(_funcSetDropItems); return(true); case "Init": res.SetClCsValue(_funcInit); return(true); case "SetInvincible": res.SetClCsValue(_funcSetInvincible); return(true); case "SetInteractive": res.SetClCsValue(_funcSetInteractive); return(true); case "PlayAni": res.SetClCsValue(_funcPlayAni); return(true); #endregion } } res.SetSValue(string.Format("GetField from userData fail!Invalid key {0} for type {1}", key, typeof(NormalEnemy).Name)); return(false); }