public void RemovePlayer(Enums.Characters character) { Controller removePlayer = controllers.Find(x => x.ID.Equals(characterToPlayer[character])); controllers.Remove(removePlayer); characterToPlayer.Remove(character); }
public void Initialize(Sprite image, Vector3 position, float time, HUD_Controller inst, Enums.Characters player, int id_num) { Image img = GetComponent <Image>(); img.sprite = image; img.rectTransform.localPosition = position; life = time; hud_controller = inst; character = player; id = id_num; start_clock = true; }
public int CreateEffect(Enums.CharactersEffects effect, Enums.Characters character, float duration) { Vector3 position = new Vector3(); Vector3 delay_position; int id = 0; //Search best position by character switch (character) { case Enums.Characters.BARION: delay_position = SearchBestPositionEffect(ref barion_effects, ref id); position = barion_effect_position + delay_position; break; case Enums.Characters.COSMO: delay_position = SearchBestPositionEffect(ref cosmo_effects, ref id); position = cosmo_effect_position + delay_position; break; case Enums.Characters.NYX: delay_position = SearchBestPositionEffect(ref nyx_effects, ref id); position = nyx_effect_position + delay_position; break; } //Create effect GameObject effect_created = Instantiate(effect_prefab) as GameObject; effect_created.transform.SetParent(canvas.transform, false); HUD_Effect effect_controller = effect_created.GetComponent <HUD_Effect>(); Sprite image = null; switch (effect) { case Enums.CharactersEffects.INVISIBLE: image = invisible_image; break; case Enums.CharactersEffects.SHIELD: image = shield_image; break; } effect_controller.Initialize(image, position, duration, this, character, id); return(id); }
public void InitializePlayer(Enums.Characters character, PlayerID id) { GameObject newPlayer = Instantiate(players[(int)character]); DontDestroyOnLoad(newPlayer); Controller controller = newPlayer.GetComponent <Controller>(); controller.ID = id; controller.Character = character; controllers.Add(controller); controller.Disable(); characterToPlayer.Add(character, id); }
public void EffectFinished(Enums.Characters character, int id) { switch (character) { case Enums.Characters.BARION: barion_effects[id] = false; break; case Enums.Characters.COSMO: cosmo_effects[id] = false; break; case Enums.Characters.NYX: nyx_effects[id] = false; break; } }
private bool IncrementPlayerScore(List <PlayerID> winners) { bool scoreReached = false; foreach (PlayerID id in winners) { GameObject go = (GameObject)GameObject.Instantiate(bloodDrainPrefab); go.GetComponent <BloodDrainEffect>().start = GetPlayer(id).transform.position; Enums.Characters c = characterToPlayer.FirstOrDefault(x => x.Value == id).Key; Goblet g = goblets.Find(x => x.character.Equals(c)); go.GetComponent <BloodDrainEffect>().end = g.transform.position; playerScores[((int)id) - 1] += pointStep; g.UpdateScale(Mathf.Clamp01(((float)playerScores[((int)id) - 1]) / (float)MAX_SCORE)); if (playerScores[((int)id) - 1] >= MAX_SCORE) { scoreReached = true; winningCharacter = c; } } return(scoreReached); }
public void ResetGame() { Camera.main.GetComponent <Animator>().SetTrigger("RestartGame"); for (int i = 0; i < 4; i++) { playerScores[i] = 0; } foreach (PlayerID id in characterToPlayer.Values) { Enums.Characters c = characterToPlayer.FirstOrDefault(x => x.Value == id).Key; Goblet g = goblets.Find(x => x.character.Equals(c)); g.UpdateScale(Mathf.Clamp01(((float)playerScores[((int)id) - 1]) / (float)MAX_SCORE)); } inGame = true; for (int i = 0; i < controllers.Count; i++) { controllers[i].Enable(); RespawnNode playerNode = respawnNodes.Find(x => x.ID.Equals(controllers[i].ID)); controllers[i].transform.position = playerNode.transform.position; } }
private bool IncrementPlayerScore(List<PlayerID> winners) { bool scoreReached = false; foreach(PlayerID id in winners) { GameObject go = (GameObject)GameObject.Instantiate(bloodDrainPrefab); go.GetComponent<BloodDrainEffect>().start = GetPlayer(id).transform.position; Enums.Characters c = characterToPlayer.FirstOrDefault(x => x.Value == id).Key; Goblet g = goblets.Find(x => x.character.Equals(c)); go.GetComponent<BloodDrainEffect>().end = g.transform.position; playerScores[((int)id)-1] += pointStep; g.UpdateScale(Mathf.Clamp01(((float)playerScores[((int)id) - 1]) / (float)MAX_SCORE)); if (playerScores[((int)id)-1] >= MAX_SCORE) { scoreReached = true; winningCharacter = c; } } return scoreReached; }
private bool IncrementPlayerScore(List<PlayerID> winners) { bool scoreReached = false; foreach(PlayerID id in winners) { playerScores[((int)id)-1] += pointStep; Enums.Characters c = characterToPlayer.FirstOrDefault(x => x.Value == id).Key; Goblet g = goblets.Find(x => x.character.Equals(c)); g.UpdateScale(Mathf.Clamp01(((float)playerScores[((int)id) - 1]) / (float)MAX_SCORE)); if (playerScores[((int)id)-1] >= MAX_SCORE) { scoreReached = true; winningCharacter = c; } } return scoreReached; }