Esempio n. 1
0
 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));
     }
 }
Esempio n. 2
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);
            }
        }