コード例 #1
0
        /// <summary>
        /// Character enter: set track property and call onEnter
        /// </summary>
        override public void CharacterEnter(Character character)
        {
            Debug.LogFormat("CharacterEnter: {0}", character);
            // only the first track is enabled
            if (character.track == null)
            {
                if (!characterState.ValidStates(character))
                {
                    return;
                }

                Log.Silly("(Track) Enter " + character.gameObject.GetFullName());

                // delegate when to move to character class
                // this prevent fights between tile modifiers
                character.onBeforeMove += Accelerate;
                character.EnterArea(Areas.Track);
                character.track = new TrackData(this);

                if (onEnter != null)
                {
                    onEnter(character);
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// Enable track
        /// </summary>
        override public void CharacterEnter(Character character)
        {
            Debug.LogFormat("CharacterEnter: {0}", character);
            // only the first one enable the track
            if (character.track == null)
            {
                if (!characterState.ValidStates(character))
                {
                    return;
                }

                Log.Silly("(Track) Enter " + character.gameObject.GetFullName());
                character.onBeforeMove += Accelerate;
                character.EnterArea(Areas.Track);
                character.track = new TrackData(this);
                //character.worldVelocity += velocity;
                if (onEnter != null)
                {
                    onEnter(character);
                }
            }
        }
コード例 #3
0
        /// <summary>
        /// attackHeld &amp; and previous attack ended
        ///
        /// TODO REVIEW continous attack ?
        /// </summary>
        public override int WantsToUpdate(float delta)
        {
            base.WantsToUpdate(delta);

            // only one attack is allowed at a time
            // TODO NOTE REVIEW maybe we may use lastAction but this is more explicit
            if (character.meleeInProgress != null && character.meleeInProgress != this)
            {
                return(0);
            }

            characterState.ValidStates(character);

            if (attackHeld || !IsDone())
            {
                // attack in progress
                return(priority);
            }

            return(0);
        }
コード例 #4
0
ファイル: HitBox.cs プロジェクト: wolfreak99/unity-platformer
 /// <summary>
 /// Return if the HitBox is disabled base on enabledOnStates
 /// </summary>
 public bool IsDisabled()
 {
     return(!characterState.ValidStates(owner.character));
 }