Exemplo n.º 1
0
        public override void Enter(FSM fsm, FSMActor owner)
        {
            base.Enter(fsm, owner);
            FSM_Block      curFsm   = fsm as FSM_Block;
            FSMActor_Block curOwner = owner as FSMActor_Block;

            curOwner.InitDownTimer(curFsm._currentDownSpeed);
        }
Exemplo n.º 2
0
        public override void Update(FSM fsm, FSMActor owner)
        {
            base.Update(fsm, owner);
            FSMActor_Block curOwner = owner as FSMActor_Block;

            if (curOwner.UpdateDownTimer())
            {
                curOwner.ChangeState((int)BlockState_ID.JudgeDown);
            }
        }
Exemplo n.º 3
0
    public void SpawnNewBlock(int blockType = -1)
    {
        int        newBlockIndex = (blockType == -1)? Random.Range(0, BlockPrefabList.Count) : blockType;
        GameObject NewBlock      = Instantiate(BlockPrefabList[newBlockIndex], Vector3.zero, Quaternion.identity) as GameObject;

        NewBlock.transform.parent = SpawnListObjectTransform;
        FSMActor_Block B = NewBlock.GetComponent <FSMActor_Block>();

        B.SetCoordinate(new Vector2(3, 20));
        NewBlock.transform.SetSiblingIndex(-1);
        _blockList.Add(B);
    }
Exemplo n.º 4
0
        public override void Enter(FSM fsm, FSMActor owner)
        {
            base.Enter(fsm, owner);
            FSM_Block      curFsm   = fsm as FSM_Block;
            FSMActor_Block curOwner = owner as FSMActor_Block;

            //Judge
            if (curOwner.JudgeDirectFunction(SquareFSM.MoveDirection.Down))
            {
                curOwner.DoMoveFunction(SquareFSM.MoveDirection.Down);
                //change state
                curOwner.ChangeState((int)BlockState_ID.UpdateDownTimer);
            }
            else
            {
                //change state
                curOwner.ChangeState((int)BlockState_ID.Wait);
            }
        }
Exemplo n.º 5
0
 public void SetBlock(FSMActor_Block block)
 {
     _thisBlock = block;
 }