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);
            }
        }
Esempio n. 3
0
        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);
            }
        }
Esempio n. 4
0
    public static void AddChildButton <T1, T2>(IGenericAction <T1, T2> action)
    {
        IGenericAction <T2, T1> childAction = null;

        action.AddAction(childAction);
    }