public void Init(SimMap map) { this.map = map; map.mapListener = this; gameObject.name = map.id; transform.localPosition = Vector3.zero; mapValues = new Transform[map.sizeX * map.sizeY]; Material mapMaterial = MaterialsFactory.CreateDiffuseColor(map.mapType.color); for (int x = 0; x < map.sizeX; x++) { for (int y = 0; y < map.sizeY; y++) { int val = map.Get(x, y); float scale = ((float)val) / ((float)map.mapType.capacity); SimVector3 pos = map.GetWorldPosition(x, y); GameObject goCube = GameObject.CreatePrimitive(PrimitiveType.Cube); goCube.transform.parent = transform; goCube.transform.localScale = new Vector3(0.5f, scale, 0.5f); goCube.transform.localPosition = new Vector3(pos.x, pos.y + scale * 0.5f, pos.z); goCube.renderer.sharedMaterial = mapMaterial; mapValues[y * map.sizeX + x] = goCube.transform; } } }
public void OnMapModified(SimMap map, int x, int y, int val) { float scale = ((float)val) / ((float)map.mapType.capacity); SimVector3 pos = map.GetWorldPosition(x, y); mapValues[y * map.sizeX + x].localScale = new Vector3(0.5f, scale, 0.5f); mapValues[y * map.sizeX + x].localPosition = new Vector3(pos.x, pos.y + scale * 0.5f, pos.z); }
public void OnMapAdded(SimMap map) { GameObject goMap = new GameObject(); goMap.transform.parent = mapsContainer; SimMapUnity mapUnity = goMap.AddComponent <SimMapUnity>(); mapUnity.Init(map); mapsUnity.Add(mapUnity); }
public void OnMapRemoved(SimMap map) { for (int i = 0; i < mapsUnity.Count; i++) { if (mapsUnity[i].map == map) { GameObject.Destroy(mapsUnity[i].gameObject); mapsUnity.RemoveAt(i); break; } } }
public SimMap AddMap(SimMapType mapType) { if (mapType == null) { throw new ArgumentNullException("mapType"); } if (GetMap(mapType.id) != null) { throw new ArgumentException("Duplicated mapType", "mapType"); } SimMap map = new SimMap(); map.Init(mapType, this, gridSizeX, gridSizeY); maps.Add(map.id, map); boxListener.OnMapAdded(map); return(map); }
public void RemoveMap(SimMap map) { maps.Remove(map.id); boxListener.OnMapRemoved(map); }
public void OnMapRemoved(SimMap map) { }
public void OnMapAdded(SimMap map) { }
public void OnMapModified(SimMap map, int x, int y, int val) { }