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); }
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); } }
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); }
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); } }
public void SetBlock(FSMActor_Block block) { _thisBlock = block; }