Example #1
0
    public bool?SetState(BasicState nextState)
    {
        if (nextState == currentState)
        {
            return(null);
        }
        if (nextState.CanEnter(owner))
        {
            previousState = currentState;
            currentState  = nextState;
            timeInState   = 0.0f;

            if (previousState.OnExit != null)
            {
                previousState.OnExit(owner);
            }
            if (nextState.OnEnter != null)
            {
                nextState.OnEnter(owner);
            }

            if (OnChange != null)
            {
                OnChange(previousState.idx, currentState.idx);
            }
            return(true);
        }
        return(false);
    }
    public void switchState(States newState)
    {
        activeState.SaveState();
        activeState.CloseState();


        switch (newState)
        {
        case States.ProjectSelector:
            activeState = gameObject.AddComponent <ProjectSelectorState>();
            break;

        case States.ProjectEditor:
            activeState = gameObject.AddComponent <ProjectEditorState>();
            break;

        case States.AnimationEditor:
            activeState = gameObject.AddComponent <AnimationEditorState>();
            break;

        case States.BatchRenderer:
            activeState = gameObject.AddComponent <BatchRendererState>();
            //TODO: Implement Animation Playback State
            break;
        }
    }
Example #3
0
    public override void Visit(BasicState basicState)
    {
        SkillState skillState = skill.GetSkillState();

        skillState.SetTargetUnit(basicState.GetTargetUnit());
        basicState.ChageToSkillState(skill.GetSkillState());
    }
Example #4
0
    public bool?SetState(BasicState nextState, bool forced = false)
    {
        if (nextState == currentState)
        {
            return(null);
        }

        if (forced || nextState.CanEnter())
        {
            failedState   = null;
            previousState = currentState;
            currentState  = nextState;

            if (previousState.OnExit != null)
            {
                previousState.OnExit(owner);
            }
            if (OnChange != null)
            {
                OnChange(previousState.idx);
            }
            if (nextState.OnEnter != null)
            {
                nextState.OnEnter(owner);
            }
            return(true);
        }
        failedState = nextState;
        return(false);
    }
 // Use this for initialization
 void Start()
 {
     if(created)
         Destroy(gameObject);
     activeState = gameObject.AddComponent<ProjectSelectorState>();
     Application.runInBackground = true;
     created = true;
 }
Example #6
0
        public virtual ATNState NewState([Nullable] GrammarAST node)
        {
            ATNState n = new BasicState();

            n.SetRuleIndex(currentRule.index);
            atn.AddState(n);
            return(n);
        }
Example #7
0
//Stack Operations
    //push state into top of stack
    public void PushState(BasicState pState)
    {
        if (bossState != null)
        {
            bossState.Peek().StateExit();
        }
        bossState.Push(pState);
        bossState.Peek().StateEntered();
    }
 private void Update()
 {
     // API to deal with the health point.
     if (healthPoint <= 0)
     {
         basic = BasicState.DIE;
         animator.SetBool("Alive", false);
     }
 }
Example #9
0
 public override void Visit(SkillState skillState)
 {
     if (skillState.IsEnd())
     {
         BasicState basicState = player.GetBasicState();
         basicState.Stop();
         player.SetState(basicState);
     }
 }
Example #10
0
 public override void Visit(BasicState basicState)
 {
     if (0.8f > Vector3.Distance(player.GetPosition(), destination))
     {
         basicState.Stop();
         return;
     }
     basicState.MoveTo(destination);
 }
Example #11
0
 public override void Visit(SkillState skillState)
 {
     if (skillState.IsEnd())
     {
         BasicState basicState = player.GetBasicState();
         basicState.MoveTo(destination);
         player.SetState(basicState);
     }
 }
Example #12
0
 public override void Visit(SkillState skillState)
 {
     if (skillState.IsEnd())
     {
         BasicState basicState = player.GetBasicState();
         basicState.ChaseTarget(targetUnit);
         player.SetState(basicState);
     }
 }
Example #13
0
 public override void Interupt()
 {
     if (CurrentBasicState == BasicState.WarmingUp)
     {
         CurrentBasicState = BasicState.Passive;
         StatusString      = null;
         StatusPercent     = 0.0f;
     }
 }
 // Use this for initialization
 void Start()
 {
     if (created)
     {
         Destroy(gameObject);
     }
     activeState = gameObject.AddComponent <ProjectSelectorState>();
     Application.runInBackground = true;
     created = true;
 }
Example #15
0
    }                                                                                           //Used primarily when changing scenes

//Stack Operations
    public void PushState(BasicState pState)
    {
        //push state into top of stack
        if (playerState != null)
        {
            playerState.Peek().StateExit();
        }
        playerState.Push(pState);
        playerState.Peek().StateEntered();
    }
Example #16
0
 public void ChangeState(BasicState pState)
 {
     if (playerState != null)
     {
         playerState.Peek().StateExit();
         playerState.Pop();
     }
     playerState.Push(pState);
     playerState.Peek().StateEntered();
 }
Example #17
0
 public override void Visit(BasicState basicState)
 {
     if (baseAttackStrategy.GetRange() < player.DistanceToUnit(targetUnit))
     {
         basicState.ChaseTarget(targetUnit);
     }
     else
     {
         basicState.AttackTarget(targetUnit);
     }
 }
Example #18
0
    void Start()
    {
        mEmptyState      = gameObject.AddComponent <EnemyState>();
        mBasicState      = gameObject.AddComponent <BasicState>();
        mDivideShotState = gameObject.AddComponent <DivideShotState>();
        mMoreShotsState  = gameObject.AddComponent <MoreShotsState>();
        mSurpriseState   = gameObject.AddComponent <SurpriseState>();
        GameManagerSC.EventGameStarted.AddListener(OnEventGameStarted);
        GameManagerSC.EventGameEnded.AddListener(OnEventGameEnded);

        GoToState(mEmptyState);
    }
Example #19
0
    public override void Cast(Character target)
    {
        CurrentTarget   = target;
        CurrentCooldown = 0.0f;
        Owner.TriggerGlobalCooldown();

        StatusPercent = 0.0f;

        if (WarmupTime > 0.0f)
        {
            StatusString      = "Channeling";
            CurrentBasicState = BasicState.WarmingUp;
        }
    }
Example #20
0
    public bool ForceReenterState()
    {
        previousState = currentState;

        if (currentState.OnEnter != null)
        {
            currentState.OnEnter(owner);
        }

        if (OnChange != null)
        {
            OnChange(previousState.idx, currentState.idx);
        }
        return(true);
    }
Example #21
0
    public override void Tick()
    {
        if (CurrentBasicState == BasicState.WarmingUp)
        {
            StatusPercent += Time.fixedDeltaTime / WarmupTime;
            if (StatusPercent >= 1.0f)
            {
                CurrentBasicState = BasicState.Passive;
                StatusString      = null;
                OnWarmupComplete();
            }
        }

        if (CanCooldown())
        {
            CurrentCooldown += Time.fixedDeltaTime;
        }
    }
Example #22
0
    public void Initialize(Object inOwner)
    {
        owner    = inOwner;
        enumType = typeof(T);
        System.Array enumVals = System.Enum.GetValues(enumType);
        int          count    = enumVals.Length;

        stateList = new List <BasicState>(count);

        for (int i = 0; i < count; ++i)
        {
            object enumValue = enumVals.GetValue(i);
            stateList.Add(new BasicState(i, enumValue, System.Enum.GetName(enumType, enumValue)));
        }
        previousState = stateList[0];
        currentState  = stateList[0];
        timeInState   = 0.0f;
    }
    public void ChoseNextAnim()
    {
        timeUntilNonIdleEnds = Time.time + timeInNonIdle + UnityEngine.Random.Range(-varianceNonIdle, varianceNonIdle);
        if (timeUntilNonIdleEnds < Time.time)
        {
            timeUntilNonIdleEnds = Time.time + 0.5f;
        }

        AnimationPlay randomBar;

        do
        {
            Array values = Enum.GetValues(typeof(AnimationPlay));
            int   choice = (int)(UnityEngine.Random.value * (float)values.Length);
            randomBar = (AnimationPlay)values.GetValue(choice);
        } while (randomBar == AnimationPlay.Idle);
        PlayAnim(randomBar);
        animState = BasicState.NonIdle;
    }
Example #24
0
    public virtual void Initialize(Object own)
    {
        owner    = own;
        enumType = typeof(T);
        System.Array eVals = System.Enum.GetValues(enumType);
        int          count = eVals.Length;

        stateList = new List <BasicState>(count);

        for (int i = 0; i < count; ++i)
        {
            object enumValue = eVals.GetValue(i);
            stateList.Add(new BasicState(i, enumValue, System.Enum.GetName(enumType, enumValue)));
        }
        previousState = stateList[0];
        currentState  = stateList[0];
        failedState   = null;

        isInitialized = true;
    }
    public void switchState(States newState)
    {
        activeState.SaveState();
            activeState.CloseState();

        switch(newState)
        {
            case States.ProjectSelector:
                activeState = gameObject.AddComponent<ProjectSelectorState>();
                break;
            case States.ProjectEditor:
                activeState = gameObject.AddComponent<ProjectEditorState>();
                break;
            case States.AnimationEditor:
                activeState = gameObject.AddComponent<AnimationEditorState>();
                break;
            case States.BatchRenderer:
                activeState = gameObject.AddComponent<BatchRendererState>();
                //TODO: Implement Animation Playback State
            break;
        }
    }
    public override void Visit(BasicState basicState)
    {
        if (false == basicState.IsTargetIngState())
        {
            BasicState idleState = player.GetBasicState();
            idleState.Stop();
            player.SetState(idleState);
        }

        Unit targetUnit = basicState.GetTargetUnit();

        if (range > player.DistanceToUnit(targetUnit))
        {
            SkillState skillState = skill.GetSkillState();
            skillState.SetTargetUnit(targetUnit);
            basicState.ChageToSkillState(skill.GetSkillState());
        }
        else
        {
            basicState.ChaseTarget(targetUnit);
        }
    }
Example #27
0
    protected virtual void Awake()
    {
        base.Awake();
        levelSystem        = new LevelSystem();
        statsSystem        = new StatsSystem(playerStatsDatum, levelSystem.GetLevel());
        healthPointsSystem = new HealthPointsSystem(statsSystem.GetTotalMaxHealthPoints());

        command = new NullCommand(this);

        #region State
        state    = basicState = new BasicState(this);
        dieState = new DieState(this, 5f);
        state.Begin();
        #endregion

        RuntimeAnimatorController runtimeAnimatorController = transform.Find("model").GetComponent <Animator>().runtimeAnimatorController;
        AnimationClip[]           animationClips            = runtimeAnimatorController.animationClips;

        for (int i = 0; i < animationClips.Length; i++)
        {
            clipLengths.Add(animationClips[i].name, animationClips[i].length);
            print(animationClips[i].name + ": " + animationClips[i].length);
        }
    }
Example #28
0
 public Manager()
 {
     currentState = new MainState();
 }
Example #29
0
 public override void Visit(BasicState basicState)
 {
     basicState.Stop();
 }
Example #30
0
 public abstract void Visit(BasicState basicState);
Example #31
0
 void Awake()
 {
     basicState = new BasicState(this);
     basicState.start(this.gameObject);
     attributes = GetComponent <BasicObjectAttr>();
 }
 public void ReturnToIdle()
 {
     PlayAnim(AnimationPlay.Idle);
     timeUntilIdleEnds = Time.time + timeInIdle + UnityEngine.Random.Range(-varianceInIdle, varianceInIdle);
     animState         = BasicState.Idle;
 }