private void CheckPlatformType(Transform platform) { if ((platform.tag == "Snow") && (current_movement_type != PlayerMovementType.Snow)) { current_movement_type = PlayerMovementType.Snow; last_movement_speed = movement_speed; extra_movement_speed = 0; ResetMovements(false, true, true); animations.SetAnimation(PlayerAnimations.Stand); } else if ((platform.tag == "Ice") && (current_movement_type != PlayerMovementType.Ice)) { current_movement_type = PlayerMovementType.Ice; last_movement_speed = ice_movement_speed; ResetMovements(true, false, true); animations.SetAnimation(PlayerAnimations.Ice); } else if ((platform.tag == "Reverse") && (current_movement_type != PlayerMovementType.Reverse)) { current_movement_type = PlayerMovementType.Reverse; last_movement_speed = ice_movement_speed; ResetMovements(true, false, true); animations.SetAnimation(PlayerAnimations.Ice); } else if ((platform.tag == "Straight") && (current_movement_type != PlayerMovementType.Straight)) { current_movement_type = PlayerMovementType.Straight; last_movement_speed = ice_movement_speed; ResetMovements(true, false, true); animations.SetAnimation(PlayerAnimations.Ice); } else if (platform.tag == "Water") { current_movement_type = PlayerMovementType.None; extra_movement_speed = 0; ResetMovements(false, true, true); respawner.KillPlayer(gameObject, PlayerAnimations.Stand, false); SpawnPool general_pool = PoolManager.Pools[CurrentLevel.GetGeneralPoolName()]; general_pool.Spawn(water_effect, transform.position, new Quaternion(90, 0, 0, 0)); } }
public void InstantiatePrefab(Vector3 throw_point) { SpawnPool level_pool = PoolManager.Pools[CurrentLevel.GetCurrentLevelPoolName()]; Transform unit_entity = level_pool.Spawn(projectile, transform.position, transform.rotation); if (!random) { CannonBall cannon_ball = unit_entity.GetComponent <CannonBall>(); cannon_ball.coordinate = throw_point; cannon_ball.movement_speed = movement_speed; cannon_ball.catapult_position = transform.position; cannon_ball.SetProjectile(area_of_effect, base_damage, damage_distance_factor); } else { MortarShell mortar_shell = unit_entity.GetComponent <MortarShell>(); mortar_shell.coordinate_on_platform = throw_point; mortar_shell.movement_speed = movement_speed; mortar_shell.platform = platform; mortar_shell.SetProjectile(area_of_effect, base_damage, damage_distance_factor); } }