public void RemoveBox(SimBox box) { if (boxes.Remove(box)) { simulationListener.OnBoxRemoved(box); } }
public void OnBoxAdded(SimBox box) { GameObject goBox = new GameObject(); goBox.transform.parent = transform; SimBoxUnity boxUnity = goBox.AddComponent <SimBoxUnity>(); boxUnity.Init(box); boxesUnity.Add(boxUnity); }
public void OnBoxRemoved(SimBox box) { for (int i = 0; i < boxesUnity.Count; i++) { if (boxesUnity[i].box == box) { GameObject.Destroy(boxesUnity[i].gameObject); boxesUnity.RemoveAt(i); break; } } }
public void Init(SimMapType mapType, SimBox box, int sizeX, int sizeY) { this.id = mapType.id; this.mapType = mapType; this.box = box; values = new int[sizeX * sizeY]; this.sizeX = sizeX; this.sizeY = sizeY; context.box = box; context.mapPositionRadius = 0; }
public void Init(SimBox box) { this.box = box; box.boxListener = this; gameObject.name = box.id; transform.localPosition = new Vector3(box.worldPosition.x, box.worldPosition.y, box.worldPosition.z); mapsContainer = new GameObject("maps").transform; pathsContainer = new GameObject("paths").transform; unitsContainer = new GameObject("units").transform; agentsContainer = new GameObject("agents").transform; mapsContainer.parent = transform; pathsContainer.parent = transform; unitsContainer.parent = transform; agentsContainer.parent = transform; mapsContainer.localPosition = Vector3.zero; pathsContainer.localPosition = Vector3.zero; unitsContainer.localPosition = Vector3.zero; agentsContainer.localPosition = Vector3.zero; foreach (SimMap map in box.GetMaps()) { OnMapAdded(map); } foreach (SimPath path in box.GetPaths()) { OnPathAdded(path); } foreach (SimUnit unit in box.GetUnits()) { OnUnitAdded(unit); } foreach (SimAgent agent in box.GetAgents()) { OnAgentAdded(agent); } }
// Use this for initialization void Start() { Simulation sim = new Simulation(); sim.simulationDefinition = new SimulationDefinitionLoader().LoadDefinitionFromString(cityToTest.text); Init(sim); SimBox city = sim.AddBox("city", Vector3.zero, 32, 32); SimPath road = city.GetPath("Road"); SimPoint p1 = road.AddPoint(new Vector3(20, 0, 20)); SimPoint p2 = road.AddPoint(new Vector3(50, 0, 50)); SimPoint p3 = road.AddPoint(new Vector3(20, 0, 50)); SimSegment s1 = road.AddSegment(sim.simulationDefinition.GetSegmentType("Dirt"), p1, p2); SimSegment s2 = road.AddSegment(sim.simulationDefinition.GetSegmentType("Dirt"), p2, p3); SimSegment s3 = road.AddSegment(sim.simulationDefinition.GetSegmentType("Dirt"), p3, p1); SimSegmentPosition unitPos; unitPos.segment = s1; unitPos.offset = 0.66f; city.AddUnit(sim.simulationDefinition.GetUnitType("Home"), unitPos); unitPos.segment = s1; unitPos.offset = 0.5f; city.AddUnit(sim.simulationDefinition.GetUnitType("Home"), unitPos); unitPos.segment = s2; unitPos.offset = 0.5f; city.AddUnit(sim.simulationDefinition.GetUnitType("Work"), unitPos); unitPos.segment = s3; unitPos.offset = 0.5f; city.AddUnit(sim.simulationDefinition.GetUnitType("Work"), unitPos); }
public SimBox AddBox(string id, SimVector3 center, int gridSizeX, int gridSizeY) { if (id == null) { throw new ArgumentNullException("id"); } if (GetBox(id) != null) { throw new ArgumentException("Duplicated id", "id"); } SimBox box = new SimBox(); box.Init(id, center, this, gridSizeX, gridSizeY); boxes.Add(box); simulationListener.OnBoxAdded(box); return(box); }
public void OnBoxRemoved(SimBox box) { }
public void OnBoxAdded(SimBox box) { }
public void Init(SimPathType pathType, SimBox box) { this.pathType = pathType; this.box = box; this.id = pathType.id; }