Exemplo n.º 1
0
 protected override void Start()
 {
     base.Start();
     benchState = new StateSetter(this, null, BenchUpdate, null, BenchCancel, StateSetter.SetStrength.Medium);
     restLogo.SetActive(false);
     swathe = Player.instance;
 }
Exemplo n.º 2
0
    /// <summary>
    /// この状況に入る時最初何かするか(一回のみ)
    /// </summary>
    /// <param name="setter"></param>
    public override void PreUpdate(StateSetter setter)
    {
        StateExampleState state_ = (StateExampleState)setter;

        Debug.Log("State C");
        state_.ChangeState(StateExampleState.StateExampleStates.StateExampleEnd.ToString());
    }
Exemplo n.º 3
0
    protected override void Awake()
    {
        base.Awake();

        speedReducer = new FloatModifier(speedReductionPercent, FloatModifier.FloatModType.PercentMult, this);
        Action FocusHealInterUpdate = aEntity.BaseActionUpdate;

        FocusHealInterUpdate += FocusHealUpdate;
        focusState            = new StateSetter(this, FocusHealthControl, FocusHealInterUpdate, aEntity.BaseActionFixedUpdate, CancelFocusHeal);
    }
Exemplo n.º 4
0
    /// <summary>
    /// 魂を初期化処
    /// </summary>
    /// <param name="playerMoveEngine">プレイヤー移動状況</param>
    /// <param name="id">プレイヤーId</param>
    public void Initial(T target, StateManager manager, StateSetter setter)
    {
        host_          = target;
        MyStateMachine = manager.GetStateMachine();
        if (MyStateMachine != null)
        {
            MyStateMachine.BindCharacter(setter);
        }

        ChangeState(InitiaStateID.ToString());
    }
Exemplo n.º 5
0
    // Start is called before the first frame update
    void Awake()
    {
        respawnState = new StateSetter(this, null, null, null, StateSetter.SetStrength.Strong);
        RespawnData newMajor = new RespawnData()
        {
            sceneName       = SceneManager.GetActiveScene().name,
            respawnPosition = Player.instance.transform.position
        };

        MajorRespawnData = newMajor;
    }
Exemplo n.º 6
0
 protected override void Start()
 {
     base.Start();
     npcTalkSetter = new StateSetter(this, null, Player.instance.BaseActionUpdate, Player.instance.BaseActionFixedUpdate, StateSetter.SetStrength.Medium);
     swathe        = Player.instance;
     interactIndicator.SetActive(false);
     if (conversation.isAutomatic)
     {
         moveDuringConvo = true;
     }
 }
Exemplo n.º 7
0
    private void Awake()
    {
        if (controller == null)
        {
            controller = new FloatModifier(0, FloatModifier.FloatModType.Flat, this);
        }

        boxCollider = GetComponent <BoxCollider2D>();

        transitionState   = new StateSetter(this, null, Player.instance.BaseActionUpdate, Player.instance.BaseActionFixedUpdate, StateSetter.SetStrength.Strong);
        transitionStateUp = new StateSetter(this, null, null, null, StateSetter.SetStrength.Strong);

        PositionExit();
        OrientMoveVector();
    }
Exemplo n.º 8
0
            public void ChangeState(BasePlayer player, GUIElementBase definition, StateSetter setter)
            {
                var state = setter.Invoke(GetState(player, definition));

                if (state == null)
                {
                    return;
                }

                _states[player][GetElementHash(definition)] = state;

                foreach (var kvp in state)
                {
                    definition.GetType().GetProperty(kvp.Key, BindingFlags.Instance | BindingFlags.Public).SetValue(definition, kvp.Value);
                }
            }
Exemplo n.º 9
0
    public override void Create()
    {
        for (int i = 0; i < pages.Length; i++)
        {
            pages[i].setter = setter;
            pages[i].story  = this;
            SafeInsert(pages[i]);
        }

        if (state == null)
        {
            state = GetComponent <StateSetter>();
        }
        started     = false;
        currentPage = 0;
    }
Exemplo n.º 10
0
    protected virtual void Awake()
    {
        entityRB2D = this.GetComponent <Rigidbody2D>();
        entityBC2D = this.GetComponent <BoxCollider2D>();

        groundMask = (1 << LayerMask.NameToLayer("Ground - Soft")) | (1 << LayerMask.NameToLayer("Ground - Hard"));

        healthControl             = GetComponent <HealthControl>();
        healthControl.onHitAlive += HitReactionOnAlive;
        healthControl.onHitDeath += PhysicsCleanUpOnDeath;

        knockbackControl = GetComponent <KnockbackControl>();
        waitForNotPaused = new WaitUntil(() => !isPaused);

        currentTerminalVelocity = originalTerminalVelocity;

        originalState = new StateSetter(this, BaseActionControl, BaseActionUpdate, BaseActionFixedUpdate);
        SetLivingEntityState(originalState, true);
    }
Exemplo n.º 11
0
    public bool SetLivingEntityState(StateSetter setter, bool ignoreStrength)
    {
        if (currentController == null || ignoreStrength || currentController.setStrength <= setter.setStrength)
        {
            if (currentController != null)
            {
                currentController.CancelState();
            }

            if (setter.nullsOverride)
            {
                SetControlMethod       = setter.ControlMethod;
                SetActionUpdateMethod  = setter.UpdateMethod;
                SetActionFixedUpMethod = setter.FixedUpdateMethod;
            }
            else
            {
                if (setter.ControlMethod != null)
                {
                    SetControlMethod = setter.ControlMethod;
                }
                if (setter.UpdateMethod != null)
                {
                    SetActionUpdateMethod = setter.UpdateMethod;
                }
                if (setter.FixedUpdateMethod != null)
                {
                    SetActionFixedUpMethod = setter.FixedUpdateMethod;
                }
            }

            currentController = setter;

            return(true);
        }
        else
        {
            setter.CancelState();
        }

        return(false);
    }
 /// <summary>
 /// この状況から別の状態に遷移する時、最後何かするか(一回のみ)
 /// </summary>
 /// <param name="setter"></param>
 public override void PostUpdate(StateSetter setter)
 {
     StateExampleState state_ = (StateExampleState)setter;
 }
Exemplo n.º 13
0
 protected override void Awake()
 {
     base.Awake();
     dashState         = new StateSetter(this, DashControl, null, DashMain, CancelState, StateSetter.SetStrength.Weak);
     currentDashCharge = maxDashCharge;
 }
Exemplo n.º 14
0
 //誰か利用しているを確認する
 public void BindCharacter(StateSetter iCharacter)
 {
     this.MyCharacter = iCharacter;
 }
Exemplo n.º 15
0
 virtual public void Update(StateSetter setter)
 {
 }
    /// <summary>
    /// Auto Upate by StateExample.cs (Loop)
    /// </summary>
    /// <param name="setter"></param>
    public override void Update(StateSetter setter)
    {
        StateExampleState state_ = (StateExampleState)setter;

        state_.ChangeState(StateExampleState.StateExampleStates.StateExampleStateA.ToString());
    }
    /// <summary>
    /// この状況に入る時最初何かするか(一回のみ)
    /// </summary>
    /// <param name="setter"></param>
    public override void PreUpdate(StateSetter setter)
    {
        StateExampleState state_ = (StateExampleState)setter;

        Debug.Log("State Start");
    }