private void PlaceLander() { Lander = (EntityBuilding)this.RunningGameSession.entityFactory.CreateEnity(Entity.EntityTypes.LANDER, this.playerCamera.GetCameraPostion(), true); Lander.PlaceBuilding(this.RunningGameSession.LODMap, true); // this.RunningGameSession.simulator.AddEntity(Lander.GetSimEntity()); this.RunningGameSession.simulator.MapModified = true; }
internal bool CanInstall(EntityBuilding newBuilding) { if (building == null) { return(true); } return(false); }
public EntityBuilding(EntityBuilding other) : base(other) { this.installed = other.installed; this.walkingSpeed = other.walkingSpeed; this.roomBoundary = other.roomBoundary; this.connecting = other.connecting; }
//// WORLD LISTENERS public bool CanInstallAt(EntityBuilding entity, Coord coord) { if (!IsValidCoordinate(coord)) { return(false); } return(GetTileAt(coord).CanInstall(entity)); }
protected override void OnPanelShowBegin() { base.OnPanelShowBegin(); _dicttask = DataCenter.Instance.dictBuildingTask; for (int i = 0; i < GameData.lstConstructionObj.Count; i++) { if (GameData.lstConstructionObj[i].GetComponent <EntityBuilding>().dataBuilding.ID == GameData.strCurConstructionId) { _entitybuilding = GameData.lstConstructionObj[i].GetComponent <EntityBuilding>(); break; } } GenerateSlotList(); UpdateProductList(); }
internal void Install(EntityBuilding newBuilding) { if (building != null) { return; } building = newBuilding; building.Tile = this; if (IsRoomBoundary()) { Room = Room.Boundary(); } if (IsConnecting()) { AddRoomConnection(); } //building.Tile.Changed(); }
internal void Uninstall() { bool mustMergeRooms = IsRoomBoundary(); bool mustRemoveconnections = IsConnecting(); // RESET ROOMS AND CONNECTIONS building = null; if (mustMergeRooms) { MergeRooms(); } if (mustRemoveconnections) { RemoveRoomConnection(); } Changed(); }
void ReadElement(XmlReader reader) { XmlReader subReader = reader.ReadSubtree(); switch (reader.Name) { case "EntityBuilding": EntityBuilding entityBuilding = new EntityBuilding(subReader); buildingsRegistry.Add(entityBuilding.id, entityBuilding); break; case "Job": Job newJob = new Job(subReader); jobRegistry.Add(newJob.id, newJob); break; default: break; } subReader.Close(); }
public void InstallAt(EntityBuilding entity, Coord coord) { if (!CanInstallAt(entity, coord)) { return; } Spawn(entity, coord.ToVector2()); foreach (IEmitterListener listener in listeners) { if (listener is IWorldListener) { ((IWorldListener)listener).InstallAt(this, entity, coord); } } GetTileAt(coord).Install(entity); Emit("OnInstallAt"); }
public void Uninstall(Coord coord) { Tile tile = GetTileAt(coord); if (tile == null || tile.building == null) { return; } EntityBuilding entity = tile.building; tile.Uninstall(); foreach (IEmitterListener listener in listeners) { if (listener is IWorldListener) { ((IWorldListener)listener).Uninstall(this, entity); } } Despawn(entity); Emit("OnUninstallAt"); }
public abstract void Uninstall(World world, EntityBuilding entity);
public abstract void InstallAt(World world, EntityBuilding entity, World.Coord coord);
public override void InstallAt(World world, EntityBuilding entity, World.Coord coord) { }
public override void Uninstall(World world, EntityBuilding entity) { }
public override void InstallAt(World world, EntityBuilding entity, World.Coord coord) { //EntityComponent entityComponent = EntityComponent.SpawnEntityControllerInWorld(this, entity, coord); //entity.Connect(entityComponent); }