public static void Activate(MyObject caster, ActionData actionData) { if (actionData.IsValid() == false) { return; } if (actionsDic.ContainsKey(caster) == false) { return; } for (int i = 0; i < actionsDic[caster].Count; ++i) { Action action = actionsDic[caster][i]; if (action.isWork == false) { continue; } action.Activate(actionData); if (action.isDisposable == true) { Destroy(action); } } }