public static void ActUpon(IGenericAction action) { if (action.Act <T>()) { Blah <Blah <T> > .ActUpon(action); } }
public void ExecuteUserCmd(IUserCmdOwner owner, IUserCmd cmd) { var player = (PlayerEntity)owner.OwnerEntity; if (player.gamePlay.IsLifeState(EPlayerLifeState.Dead) || !player.hasGenericActionInterface || player.IsOnVehicle()) { // gamePlay有对应的处理,这里不需要 return; } _genericAction = player.genericActionInterface.GenericAction; _genericAction.Update(player); if (cmd.IsJump) { TriggerActionInput(player); } }
public void ExecuteUserCmd(IUserCmdOwner owner, IUserCmd cmd) { var player = (PlayerEntity)owner.OwnerEntity; CheckPlayerLifeState(player); if (player.gamePlay.IsLifeState(EPlayerLifeState.Dead) || !player.hasGenericActionInterface || player.IsOnVehicle() || IsUnique(player)) { return; } _genericAction = player.genericActionInterface.GenericAction; _genericAction.Update(player); if (cmd.IsJump && CanClimb(player)) { TriggerActionInput(player); } }
public static void AddChildButton <T1, T2>(IGenericAction <T1, T2> action) { IGenericAction <T2, T1> childAction = null; action.AddAction(childAction); }