static void Main(string[] args) { DeathStar ds = new DeathStar(4, 3); ds.FireLaser(); Console.ReadLine(); }
private void decideNextMovementType() { if (m_MovementState == MovementState.MovingHorizontal) { SetMovementState(MovementState.MovingHorizontal); } else if (m_MovementState == MovementState.MovingBounceBackFromZap) { SetSpeedMultiplier(1.0f, true); SetMovementState(MovementState.MovingHorizontal); } else if (m_MovementState == MovementState.MovingVertical) { ZapGrid currZapGrid = GameMaster.Instance.m_ZapManager.GetZapGrid(); if (m_CurrRow == currZapGrid.GetNumRows()) { MoveToWarpZone(); return; } SetMovementState(MovementState.MovingHorizontal); } else if (m_MovementState == MovementState.MovingToWarpZone) { m_TargetPosition = this.transform.position; m_StartPosition = this.transform.position; shouldRotateInTowardTargetPosition = false; if (!m_PlayerDecorations.GetWarpZonePS().isPlaying) { m_PlayerDecorations.ShowWarpZonePS(); } GameMaster.Instance.m_UIManager.m_ShopCanvas.m_WarpStorePanel.Show(); } else if (m_MovementState == MovementState.MovingToZapGrid) { SetMovementState(MovementState.MovingHorizontal); DeathStar deathStar = GameMaster.Instance.m_DeathStar; if (deathStar) { deathStar.ResetPosition(); deathStar.SetIsMoving(true); } } else if (m_MovementState == MovementState.MovingRocketJump) { GameMaster.Instance.m_PlayerStats.SetInvicible(false); SetMovementState(MovementState.MovingHorizontal); m_CanMove = true; if (m_PlayerDecorations != null) { m_PlayerDecorations.DeactivateLockdown(); m_PlayerDecorations.DeactivateAtmosphereFire(); } } }
void Start() { m_StatsManager = GameMaster.Instance.m_StatsManager; if (m_StatsManager == null) { Debug.LogError("Cant find stats manager in ZapMoney"); } m_DeathStar = GameMaster.Instance.m_DeathStar; if (m_DeathStar == null) { Debug.LogError("Cant find death star in ZapMoney"); } }
private void lerpToTarget() { // make sure target and start position are set before lerping if (m_TargetPosition == null || m_StartPosition == null) { return; } float startToFinishDistance = (m_TargetPosition - m_StartPosition).magnitude; if (m_MovementState == MovementState.MovingHorizontal || m_MovementState == MovementState.MovingVertical || m_MovementState == MovementState.MovingRocketJump || m_MovementState == MovementState.MovingBounceBackFromZap) { // Lerp normal m_LerpAmount += Time.deltaTime * m_SpeedMultiplier * m_CurrHorizontalSpeed; m_LerpPercentage = m_LerpAmount / startToFinishDistance; this.transform.position = Vector3.Lerp(m_StartPosition, m_TargetPosition, m_LerpPercentage); } else if (m_MovementState == MovementState.MovingToWarpZone) { m_LerpAmount += Time.deltaTime * m_SpeedMultiplier * m_ToWarpZoneSpeed; m_LerpPercentage = m_LerpAmount / startToFinishDistance; this.transform.position = Vector3.Lerp(m_StartPosition, m_TargetPosition, m_LerpPercentage); // Lerp size of player to original size m_PlayerScaler.LerpToOriginalScale(m_LerpPercentage); } else if (m_MovementState == MovementState.MovingToZapGrid) { DeathStar deathStar = GameMaster.Instance.m_DeathStar; if (deathStar) { deathStar.SetIsMoving(false); } shouldRotateInTowardTargetPosition = true; m_LerpAmount += Time.deltaTime * m_SpeedMultiplier * m_CurrVerticalSpeed; m_LerpPercentage = m_LerpAmount / startToFinishDistance; this.transform.position = Vector3.Lerp(m_StartPosition, m_TargetPosition, m_LerpPercentage); // Scale player to match zap grid size. m_PlayerScaler.LerpToZapScale(m_LerpPercentage); } // check to see if we reached target if (m_LerpPercentage >= 1.0f) { m_PlayerScaler.ResetPlayerScaler(); decideNextMovementType(); //SetSpeedMultiplier(1.0f, true); m_LerpAmount = 0.0f; fillMovementData(); // If we get to the end of the grid then go to warp zone /*if (m_CurrZap != null) * { * if (m_CurrZap.GetComponent<EndZap>()) * { * MoveToWarpZone(); * } * }*/ } }