Exemple #1
0
    public SuiControllerSinking(Suicider sui) : base(sui)
    {
        Suiciders.Add(sui);

        m_waterHeight = sui.WaterLevel.GetWaterHeight(sui.transform.position.x, true);

        sui.IsKinematic = true;
        sui.Dude.SetBobyPartsKinematic(true);
        sui.DudeAnimator.Sink();
        m_sui.SetHealthBarVisible(true);
        m_sui.SetHealthValue(1.0f);

        if (m_sui.WaterCircles != null)
        {
            m_sui.WaterCircles.Stop();
            m_sui.WaterCircles = null;
        }

        m_sui.WaterCircles = WaterCirclesPool.Instance.Get();
        if (m_sui.WaterCircles != null)
        {
            m_sui.WaterCircles.Play(m_sui.transform.position);
        }

        m_sui.m_waterWaiver.Reset();
    }
Exemple #2
0
    public override void Leaving()
    {
        if (Suiciders.Count == 0)
        {
            Debug.LogError("Logic error");
            return;
        }

        Suiciders.Remove(m_sui);
    }
Exemple #3
0
    public SuiControllerFalling(Suicider sui) : base(sui)
    {
        Suiciders.Add(sui);

        m_waterHeight = sui.WaterLevel.GetWaterHeight(sui.transform.position.x, true);

        m_fallingSpeed  = Random.Range(GameSettings.SuiFallingSpeedMin, GameSettings.SuiFallingSpeedMax);
        sui.IsKinematic = true;
        sui.Dude.SetBobyPartsKinematic(true);
        sui.DudeAnimator.Fall();
    }
Exemple #4
0
    public override void Leaving()
    {
        if (m_sui.WaterCircles != null)
        {
            m_sui.WaterCircles.Stop();
            m_sui.WaterCircles = null;
        }

        if (Suiciders.Count == 0)
        {
            Debug.LogError("Logic error");
            return;
        }

        m_sui.SetHealthBarVisible(false);
        Suiciders.Remove(m_sui);
    }
Exemple #5
0
 public static void Reset()
 {
     Suiciders.Clear();
 }