Пример #1
0
 public void SetUnitColor(Unit unit, FloorColor color)
 {
     Material material;
     if (color == FloorColor.Warning) {
         material = (Material)Resources.Load("Materials/warningFloorRadarMaterial", typeof(Material));
     } else if (color == FloorColor.Protected) {
         material = (Material)Resources.Load("Materials/protectedRoomRadarMaterial", typeof(Material));
     } else if (color == FloorColor.Start) {
         material = (Material)Resources.Load("Materials/startRoomRadarMaterial", typeof(Material));
     } else {
         material = (Material)Resources.Load("Materials/floorRadarMaterial", typeof(Material));
     }
     foreach (Vector2 pos in unit.GetFloors()) {
         if (this.tiles.ContainsKey(pos)) {
             GameObject tile = this.tiles[pos];
             tile.renderer.material = material;
         }
     }
 }
Пример #2
0
 private void DestroyUnit(Unit unit)
 {
     Vector2 center = unit.GetCenter();
     GameObject explosionPrefab = (GameObject)Resources.Load ("Prefabs/Radar/explosionRadarPrefab", typeof(GameObject));
     GameObject explosion = (GameObject)Instantiate(explosionPrefab, Vector3.zero, Quaternion.identity);
     explosion.transform.parent = this.transform;
     explosion.transform.localPosition = this.levelManager.MatrixToPosition(center) / this.levelManager.WIDTH;
     foreach (Vector2 floor in unit.GetFloors()) {
         if (!tiles.ContainsKey(floor)) continue;
         GameObject tile = this.tiles[floor];
         this.tiles.Remove(floor);
         Destroy(tile);
     }
 }
Пример #3
0
 public void DestroyUnit(Unit unit)
 {
     bool rigidbody = this.IsExistPlayer(unit);
     foreach (Vector2 point in unit.GetFloors()) {
         this.DestroyTile(point, rigidbody);
     }
     GameObject player = GameObject.FindWithTag("Player");
     Unit playerUnit = this.GetUnit(player.transform.position);
     if (playerUnit == unit) {
         // kill the player
         player.SendMessage("Death", false);
     } else {
         if (unit.IsEnable()) {
             GameObject radar = GameObject.FindWithTag("Radar");
             radar.SendMessage("DestroyUnit", unit);
             List<GameObject> enemies = new List<GameObject>();
             // Send enemies to controller killed by explosion.
             foreach (GameObject enemy in GameObject.FindGameObjectsWithTag("Enemy")) {
                 if (this.level.GetUnit(this.PositionToMatrix(enemy.transform.position)) == unit) {
                     enemy.SendMessage("Death");
                     enemies.Add(enemy);
                 }
             }
             GameObject controller = GameObject.FindWithTag("GameController");
             controller.SendMessage("DestroyEnemy", enemies);
         }
     }
 }