//FSM _fsm;
        public StateNeutralityToPlayer(FSM fsm, Star star) : base(star, Star.e_State.NeutralityToPlayer)
        {
            _fsm = fsm;
            //_fsm.AddState(this);
            FSMTransition.CheckCondition toPlayer = () =>
            {
                if (star.Schedule >= 1)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            };

            FSMTransition.CheckCondition neutral = () =>
            {
                if (star.PlayerTroops < 1f)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            };
            _transitions.Add(new FSMTransition(Star.e_State.Player, toPlayer));
            _transitions.Add(new FSMTransition(Star.e_State.NeutralityPeace, neutral));
        }
        public StateNeutralityPeace(FSM fsm, Star star) : base(star, Star.e_State.NeutralityPeace)
        {
            _fsm = fsm;
            //_fsm.AddState(this);
            FSMTransition.CheckCondition neutralToAI = () =>
            {
                if (star.EnemyTroops >= 1f && star.PlayerTroops < 1f)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            };

            FSMTransition.CheckCondition neutralToPlayer = () =>
            {
                if (star.EnemyTroops < 1f && star.PlayerTroops >= 1f)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            };
            _transitions.Add(new FSMTransition(Star.e_State.NeutralityToAI, neutralToAI));
            _transitions.Add(new FSMTransition(Star.e_State.NeutralityToPlayer, neutralToPlayer));
        }