|
- using System;
- using System.Collections.Generic;
- using CIGEnums;
- using SUISSEngine;
- using UnityEngine;
-
- public class CIGDisasterManager : MonoBehaviour
- {
- protected void Start()
- {
- base.Invoke("AddSprites", 5f);
- }
-
- public void AddSprites()
- {
- int num = 0;
- for (int i = 0; i < this.grid.Size.u; i++)
- {
- for (int j = 0; j < this.grid.Size.v; j++)
- {
- bool index = this.getElementType(i - 1, j - 1) == (int)this.elementType;
- bool index2 = this.getElementType(i, j - 1) == (int)this.elementType;
- bool index3 = this.getElementType(i - 1, j) == (int)this.elementType;
- bool index4 = this.getElementType(i, j) == (int)this.elementType;
- int spriteNumber = this.GetSpriteNumber(index, index2, index3, index4);
- if (spriteNumber > 0)
- {
- GridTile gridTile;
- if (num < this.tiles.Count)
- {
- gridTile = this.tiles[num++];
- gridTile.gameObject.SetActive(true);
- }
- else
- {
- GameObject gameObject = UnityEngine.Object.Instantiate<GameObject>(this.prefab);
- gridTile = gameObject.GetComponent<GridTile>();
- this.tiles.Add(gridTile);
- num++;
- }
- SpriteRenderer component = gridTile.GetComponent<SpriteRenderer>();
- component.sprite = this.sprites[spriteNumber];
- gridTile.transform.parent = this.grid.transform;
- gridTile.index = new GridIndex(i, j);
- gridTile.UpdateTransform();
- }
- }
- }
- }
-
- public void RemoveSprites()
- {
- foreach (GridTile gridTile in this.tiles)
- {
- gridTile.gameObject.SetActive(false);
- gridTile.transform.parent = base.transform;
- }
- }
-
- private int GetSpriteNumber(bool index1, bool index2, bool index3, bool index4)
- {
- int num = 0;
- if (index4)
- {
- num += 8;
- }
- if (index3)
- {
- num += 2;
- }
- if (index2)
- {
- num += 4;
- }
- if (index1)
- {
- num++;
- }
- return num;
- }
-
- private int getElementType(int u, int v)
- {
- if (u >= 0 && u < this.grid.Size.u && v >= 0 && v < this.grid.Size.v)
- {
- return this.grid[u, v].Type;
- }
- return 0;
- }
-
- [SelfReference]
- public IsometricGrid grid;
-
- public SurfaceType elementType;
-
- public GameObject prefab;
-
- public Sprite[] sprites;
-
- protected List<GridTile> tiles = new List<GridTile>();
- }
|