Esempio n. 1
0
        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;
        }
Esempio n. 2
0
 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;
 }
Esempio n. 4
0
 //// 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();
    }
Esempio n. 6
0
    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();
    }
Esempio n. 7
0
    internal void Uninstall()
    {
        bool mustMergeRooms        = IsRoomBoundary();
        bool mustRemoveconnections = IsConnecting();

        // RESET ROOMS AND CONNECTIONS

        building = null;

        if (mustMergeRooms)
        {
            MergeRooms();
        }
        if (mustRemoveconnections)
        {
            RemoveRoomConnection();
        }

        Changed();
    }
Esempio n. 8
0
    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();
    }
Esempio n. 9
0
    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");
    }
Esempio n. 10
0
    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");
    }
Esempio n. 11
0
 public abstract void Uninstall(World world, EntityBuilding entity);
Esempio n. 12
0
 public abstract void InstallAt(World world, EntityBuilding entity, World.Coord coord);
Esempio n. 13
0
 public override void InstallAt(World world, EntityBuilding entity, World.Coord coord)
 {
 }
Esempio n. 14
0
 public override void Uninstall(World world, EntityBuilding entity)
 {
 }
Esempio n. 15
0
 public override void InstallAt(World world, EntityBuilding entity, World.Coord coord)
 {
     //EntityComponent entityComponent = EntityComponent.SpawnEntityControllerInWorld(this, entity, coord);
     //entity.Connect(entityComponent);
 }