Example #1
0
 void Update()
 {
     if (Input.GetKeyUp(KeyCode.Space))
     {
         SceneChanger.EnterScene("SampleScene");
     }
 }
Example #2
0
    //--------------------------------------

    private void OnTriggerEnter2D(Collider2D other)
    {
        var otherEntity = other.GetComponent <Entity>();

        if (otherEntity == null || other.tag == "Proximity")
        {
            return;                                                  // we don't care
        }
        if (otherEntity.IsPlayer)
        {
            if (otherEntity.Size - Size > otherEntity.MiddleSizeThreshold)
            {
                if (otherEntity.ProxHandler != null)
                {
                    otherEntity.ProxHandler.SetJustAteFace();
                }
                Debug.Log(name + " getting eaten. \nSize: " + Size + " Player Size: " + otherEntity.Size);
                foreach (var effect in StartingStats.ConsumeEffects)
                {
                    ApplyEffect(effect, otherEntity, other.gameObject);
                    otherEntity.OnStatAdded();
                }
                AudioManager.instance.PlayEating(otherEntity.GetComponent <AudioSource>());
                otherEntity.OnConsume(StartingStats.Type);
                if (!IsPlayer)
                {
                    Destroy(transform.parent.gameObject);
                }
                else
                {
                    Destroy(gameObject);
                }
            }
            else if (otherEntity.Size - Size <= otherEntity.MiddleSizeThreshold && otherEntity.Size - Size >= -otherEntity.MiddleSizeThreshold)
            {
                if (otherEntity.ProxHandler != null)
                {
                    otherEntity.ProxHandler.SetJojoFace();
                }
            }
            else
            {
                if (StartingStats.Type != EnemyType.CANDY) // candy no do harm
                {
                    SceneChanger.EnterScene("StartMenu");
                    Debug.Log("Player was consumed by " + name + ". \nPlayer size: " + otherEntity.Size + " Other size: " + Size);
                }
            }
        }
    }
Example #3
0
    private void ApplyEffect(StatBlock.Reward effect, Entity otherEntity, GameObject other)
    {
        if (effect.Type == StatBlock.RewardType.ABILITY && !otherEntity.Abilities.Contains(effect.AbilityToBeRewarded))
        {
            otherEntity.Abilities.Add(effect.AbilityToBeRewarded);
        }
        else if (effect.Type == StatBlock.RewardType.STAT_MODIFIER)
        {
            switch (effect.StatToBeModified)
            {
            case (Stat.AGILITY):
                otherEntity.Agility += effect.Modifier;
                break;

            case (Stat.LIGHT):
                otherEntity.Luminosity += effect.Modifier;
                break;

            case (Stat.SPEED):
                otherEntity.Speed += effect.Modifier;
                break;

            case (Stat.SIZE):
                otherEntity.Size += effect.Modifier;
                if (!otherEntity.IsPlayer)
                {
                    other.transform.parent.localScale += new Vector3(effect.Modifier, effect.Modifier, 0f);
                }
                else
                {
                    other.transform.localScale += new Vector3(effect.Modifier, effect.Modifier, 0f);
                }

                if (otherEntity.IsPlayer && other.transform.localScale.x >= 10f)
                {
                    SceneChanger.EnterScene("GameEnd");
                    Debug.Log("************************* You win!!!! **************************");
                }

                break;

            default:
                Debug.LogError("Entity.cs: stat to be modified was NONE!");
                break;
            }
        }
    }