public void SetType(TileStats.type type) { var t = Types.First(a => a.Type == type); if (t == null) { return; } if (t.Material == null) { return; } var r = GetComponent <Renderer>(); if (r == null) { r = GetComponentInChildren <Renderer>(); } if (r == null) { return; } var rotation = UnityEngine.Random.Range(0, 361); this.transform.rotation = Quaternion.Euler(0, rotation, 0); r.material = t.Material; }
public List <TileObstacle> GetObstacles(TileStats.type t) { if (!_list.ContainsKey(t)) { InitializeType(t); } return(_list[t]); }
void Start() { Graph(); stats = GetComponent <PokemonStats>(); ResetCharacterAnimator(); myType = stats.MyType; }
void getStats(Character target) { myType = GetComponent <PokemonStats>().MyType; MaxHealth = GetComponent <PokemonStats>().MaxHealth; CurrentHealth = GetComponent <PokemonStats>().CurrentHealth; Attack = GetComponent <PokemonStats>().Attack; Defense = GetComponent <PokemonStats>().Defense; Accuracy = GetComponent <PokemonStats>().Accuracy; Enemy_MaxHealth = target.GetComponent <PokemonStats>().MaxHealth; Enemy_CurrentHealth = target.GetComponent <PokemonStats>().CurrentHealth; Enemy_Attack = target.GetComponent <PokemonStats>().Attack; Enemy_Defense = target.GetComponent <PokemonStats>().Defense; Enemy_Accuracy = target.GetComponent <PokemonStats>().Accuracy; }
float typeAdvantage(Character target) { float modifier = 1.0f; TileStats.type Enemy_Type = target.GetComponent <PokemonStats>().MyType; if (myType == TileStats.type.Fire) { if (Enemy_Type == TileStats.type.Grass) { modifier += 0.5f; } if (Enemy_Type == TileStats.type.Water) { modifier -= 0.5f; } } else if (myType == TileStats.type.Water) { if (Enemy_Type == TileStats.type.Fire) { modifier += 0.5f; } if (Enemy_Type == TileStats.type.Grass) { modifier -= 0.5f; } } else if (myType == TileStats.type.Grass) { if (Enemy_Type == TileStats.type.Water) { modifier += 0.5f; } if (Enemy_Type == TileStats.type.Fire) { modifier -= 0.5f; } } else if (myType == TileStats.type.Electric) { if (Enemy_Type == TileStats.type.Ground) { modifier = 0; } else if (Enemy_Type == TileStats.type.Flying) { //modifier += 0.5f; } } else if (myType == TileStats.type.Ground) { if (Enemy_Type == TileStats.type.Flying) { modifier = 0; } else if (Enemy_Type == TileStats.type.Electric) { //modifier += 0.5f; } } else if (myType == TileStats.type.Flying) { if (Enemy_Type == TileStats.type.Electric) { modifier = 0; } if (Enemy_Type == TileStats.type.Ground) { //modifier += 0.5f; } } if (modifier == 1.5) { effect = Effectiveness.SUPEREFFECTIVE; } else if (modifier == 1.0) { effect = Effectiveness.NORMAL; } else if (modifier == 0.5) { effect = Effectiveness.NOTEFFECTIVE; } return(modifier); }
void InitializeType(TileStats.type t) { var list = _obstacles.Where(o => o.GetTypes().Contains(t)).ToList(); _list.Add(t, list); }