public void Execute() { if (mStartDelay > 0.0f) { mStartDelay -= Time.deltaTime; return; } if (mLife > 0.0f) { mSpawnCounter += Time.deltaTime; if (mSpawnCounter >= mSpawnInterval) { mThrower.Spawn(); mSpawnCounter = 0.0f; } mLife -= Time.deltaTime; return; } mEndDelay -= Time.deltaTime; if (mEndDelay <= 0.0f) { owner.mStateMachine.ChangeState(0); } }
public void Execute() { if (owner.transform.position.y > -5.0f && mLife > 0.0f) { float pos_y = owner.transform.position.y - Time.deltaTime * 5.0f; if (pos_y < -5.0f) { pos_y = -5.0f; } owner.transform.position = new Vector3(owner.transform.position.x, pos_y, owner.transform.position.z); return; } owner.mAnimator.SetBool("IsLaser", true); if (mStartDelay > 0.0f) { mStartDelay -= Time.deltaTime; return; } if (mLife == 5.0f) { owner.mTailSpawner.GetComponent <MerlionTailSpawner>().Spawn(); } if (mLife > 0.0f) { mSpawnCounter += Time.deltaTime; if (mSpawnCounter >= mSpawnInterval) { mThrower.Spawn(); mSpawnCounter = 0.0f; } mLife -= Time.deltaTime; return; } owner.mAnimator.SetBool("IsLaser", false); if (owner.transform.position.y < -0.2f) { float pos_y = owner.transform.position.y + Time.deltaTime * 5.0f; if (pos_y > -0.2f) { pos_y = -0.2f; } owner.transform.position = new Vector3(owner.transform.position.x, pos_y, owner.transform.position.z); return; } mEndDelay -= Time.deltaTime; if (mEndDelay <= 0.0f) { owner.mStateMachine.ChangeState(0); } }