public void setData(LuaTable table1, LuaTable table2) { var head = new string[table1.Length]; SDataUtils.dealTable(table1, (Object o1, Object o2) => { head[(int)(double)o1 - 1] = (string)o2; }); SDataUtils.dealTable(table2, (Object o1, Object o2) => { effect_cInfo dif = new effect_cInfo(); SDataUtils.dealTable((LuaTable)o2, (Object o11, Object o22) => { switch (head[(int)(double)o11 - 1]) { case "ArmyID": dif.ArmyID = (int)(double)o22; break; case "MuzzleFlash": dif.MuzzleFlash = (string)o22; break; case "FlashPlayTime": dif.FlashPlayTime = (float)(double)o22; break; case "Bullet": dif.Bullet = (string)o22; break; case "BulletType": dif.BulletType = (short)(double)o22; break; case "Chain": dif.Chain = (string)o22; break; case "ChainPlayTime": dif.ChainPlayTime = (float)(double)o22; break; case "Range": dif.Range = (string)o22; break; case "RangePlayTime": dif.RangePlayTime = (float)(double)o22; break; case "Trajectory": dif.Trajectory = (string)o22; break; case "Gethit_Bullet": dif.Gethit_Bullet = (string)o22; break; case "Gethit_BulletPlayTime": dif.Gethit_BulletPlayTime = (float)(double)o22; break; case "Gethit_Missile": dif.Gethit_Missile = (string)o22; break; case "Gethit_MissilePlayTime": dif.Gethit_MissilePlayTime = (float)(double)o22; break; } }); if (Data.ContainsKey(dif.ArmyID)) { MonoEX.Debug.Logout(MonoEX.LOG_TYPE.LT_ERROR, "重复的ID:" + dif.ArmyID.ToString()); } Data.Add(dif.ArmyID, dif); }); }
/// <summary> /// 设置数据 /// </summary> /// <param name="effect">数据源</param> public void SetData(effect_cInfo effect) { ArmyID = effect.ArmyID; MuzzleFlashEffect = effect.MuzzleFlash; Bullet = effect.Bullet; ChainEffect = effect.Chain; RangeEffect = effect.Range; TrajectoryEffect = effect.Trajectory; GetHitByBulletEffect = effect.Gethit_Bullet; GetHitByBombEffect = effect.Gethit_Missile; MuzzleFlashEffectTime = effect.FlashPlayTime; ChainEffectTime = effect.ChainPlayTime; RangeEffectTime = effect.RangePlayTime; GetHitByBulletEffectTime = effect.Gethit_BulletPlayTime; GetHitByBombEffectTime = effect.Gethit_MissilePlayTime; BulletType = effect.BulletType; }
/// <summary> /// 初始化 /// </summary> /// <param name="effect"></param> public EffectData(effect_cInfo effect) { SetData(effect); }