public void Execute() { if (mStartDelay > 0.0f) { mStartDelay -= Time.deltaTime; return; } if (mSizeCounter < laser_size) { mSizeCounter += 20.0f * Time.deltaTime; if (mSizeCounter > laser_size) { mSizeCounter = laser_size; GameObject laser = MerlionBoss.Instantiate(owner.mSingleLaserPrefab, new Vector3(0.0f, 0.0f, 0.0f), Quaternion.Euler(0.0f, 0.0f, -90.0f)) as GameObject; laser.transform.position = new Vector2(player_x, laser.transform.position.y); } owner.mLaserMouth.transform.localScale = new Vector2(1.0f, 1.0f); mLaserTransform.localScale = new Vector3(laser_size, mSizeCounter, 0.0f); return; } mEndDelay -= Time.deltaTime; if (mEndDelay <= 0.0f) { owner.mStateMachine.ChangeState(0); } }