public static ActionFX MakeActionFX(ref ActionRequestData data, ClientCharacterVisualization parent) { ActionLogic logic = GameDataSource.Instance.ActionDataByType[data.ActionTypeEnum].Logic; switch (logic) { case ActionLogic.Melee: return(new MeleeActionFX(ref data, parent)); case ActionLogic.RangedFXTargeted: return(new FXProjectileTargetedActionFX(ref data, parent)); case ActionLogic.Trample: return(new TrampleActionFX(ref data, parent)); case ActionLogic.AoE: return(new AoeActionFX(ref data, parent)); case ActionLogic.Stunned: return(new AnimationOnlyActionFX(ref data, parent)); case ActionLogic.Target: return(new TargetActionFX(ref data, parent)); case ActionLogic.ChargedShield: case ActionLogic.ChargedLaunchProjectile: return(new ChargedActionFX(ref data, parent)); case ActionLogic.StealthMode: return(new StealthModeActionFX(ref data, parent)); default: throw new System.NotImplementedException(); } }
public ActionFX(ref ActionRequestData data, ClientCharacterVisualization parent) : base(ref data) { m_Parent = parent; }