virtual protected HexGridActor CreateActor(string objName, Vector2 pos, HexGrid grid, int owner, GameObject actorView) { var actorObj = new GameObject(); actorObj.name = objName; var actor = new HexGridActor(actorObj); CreateHexGridActorAt(actor, pos, grid, owner, actorView); return(actor); }
public void RemoveActor(HexGridActor actor) { if (actor == null || actor.State == GridActorState.Destroyed) { return; } ActorsToRemove.Add(actor); actor.State = GridActorState.Destroyed; }
protected void CreateHexGridActorAt(HexGridActor actor, Vector2 pos, HexGrid grid, int owner, GameObject actorView) { var gridPos = pos; var worldPos = grid.ToPixel(gridPos); actor.Obj.transform.position = worldPos; actor.Obj.transform.parent = grid.ActorsObj.transform; actor.Grid = grid; actor.View = Instantiate(actorView) as GameObject; actor.View.name = "View"; actor.View.transform.parent = actor.Obj.transform; actor.View.transform.localPosition = actorView.transform.position; actor.View.transform.localRotation = actorView.transform.rotation; actor.Pos = gridPos; actor.Owner = owner; actor.Tile = grid.Tiles[gridPos]; actor.State = GridActorState.Normal; grid.Actors.Add(actor); }