void Update() { if (Input.GetKeyUp(KeyCode.Space)) { SceneChanger.EnterScene("SampleScene"); } }
//-------------------------------------- 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); } } } }
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; } } }