public override object Read(ES2Reader reader) { TownBuilder data = new TownBuilder(); Read(reader, data); return(data); }
public override void OnInspectorGUI() { base.OnInspectorGUI(); TownBuilder builder = target as TownBuilder; if (GUILayout.Button("Generate")) { builder.Generate(); } if (GUILayout.Button("Generate Random")) { builder.GenerateRandom(); } }
public void setState(TownBuilder builder) { gameObject.transform.position = builder.Position; gameObject.transform.rotation = builder.Quaternion; this.direction = builder.Direction; layRoad(); this.id = builder.Id; this.level = builder.Level; this.size = builder.Size; this.priseMag = builder.PriseMag; this.clients = builder.Clients; this.merchants = builder.Merchants; this.citizens = builder.Citizens; this.attributeMag = builder.AttributeMag; this.grid = builder.Grid; this.buildingDatas = builder.BuildingDatas; this.attribute = TownAttributeMasterManager.getInstance().getTownAttributeFromId(builder.TownAttributeId); Debug.Log("attributeMag count " + attributeMag.Count); foreach (var buildingData in buildingDatas) { var building = buildingData.restore(); buildings.Add(building); building.transform.SetParent(transform); } characters.AddRange(citizens); foreach (Merchant merchant in merchants) { merchant.setTown(this); } characters.AddRange(merchants); characters.AddRange(clients); foreach (IFriendly friendlyCharacter in characters) { friendlyCharacter.getContainer().transform.SetParent(transform); } observer = new TownObserver(this); }
public override void OnInspectorGUI() { base.OnInspectorGUI(); TownBuilder town = target as TownBuilder; if (GUILayout.Button("Generate")) { town.Generate(); } if (GUILayout.Button("Generate Random")) { town.Seed = Random.Range(1, 99999); town.Generate(); } }
public override void Write(object obj, ES2Writer writer) { TownBuilder data = (TownBuilder)obj; // Add your writer.Write calls here. writer.Write(data.Id); writer.Write(data.Level); writer.Write(data.Size); writer.Write(data.Citizens); writer.Write(data.Merchants); writer.Write(data.Clients); writer.Write(data.PriseMag); writer.Write(data.BuildingDatas); writer.Write(data.AttributeMag); writer.Write(data.Grid); writer.Write(data.TownAttributeId); writer.Write(data.Direction); writer.Write(data.Position); writer.Write(data.Quaternion); }
public override void Read(ES2Reader reader, object c) { TownBuilder data = (TownBuilder)c; // Add your reader.Read calls here to read the data into the object. data.Id = reader.Read <System.Int32>(); data.Level = reader.Read <System.Int32>(); data.Size = reader.Read <System.Int32>(); data.Citizens = reader.ReadList <Character.Citizen>(); data.Merchants = reader.ReadList <Character.Merchant>(); data.Clients = reader.ReadList <Character.Client>(); data.PriseMag = reader.Read <System.Single>(); data.BuildingDatas = reader.ReadList <BuildingSaveData>(); data.AttributeMag = reader.ReadDictionary <Item.ItemParameters.ItemAttribute, System.Single>(); data.Grid = reader.Read2DArray <System.Boolean>(); data.TownAttributeId = reader.Read <System.Int32>(); data.Direction = reader.Read <FieldMap.Town.RoadDirection>(); data.Position = reader.Read <UnityEngine.Vector3>(); data.Quaternion = reader.Read <UnityEngine.Quaternion>(); }
public TownBuilder compressIntoBuilder() { var builder = new TownBuilder(); builder.Id = id; builder.Level = level; builder.Merchants = new List <Merchant>(merchants); builder.PriseMag = priseMag; builder.Clients = new List <Client>(clients); builder.Citizens = new List <Citizen>(citizens); builder.Size = size; builder.AttributeMag = new Dictionary <ItemAttribute, float>(attributeMag); builder.Position = transform.position; builder.Quaternion = transform.rotation; builder.TownAttributeId = attribute.getId(); builder.Direction = this.direction; builder.BuildingDatas = this.buildingDatas; Array.Copy(grid, builder.Grid, grid.Length); return(builder); }