Esempio n. 1
0
    public static int getPrice(BuildingFactory.BuildingType type)
    {
        switch (type)
        {
        case BuildingFactory.BuildingType.HOUSE:
            return(500);

        case BuildingFactory.BuildingType.STORAGE:
            return(100);

        case BuildingFactory.BuildingType.MINE:
            return(200);

        case BuildingFactory.BuildingType.BARRACK:
            return(300);

        case BuildingFactory.BuildingType.CAMP:
            return(400);

        case BuildingFactory.BuildingType.TOWNHALL:
            return(400);

        default:
            return(500);
        }
    }
Esempio n. 2
0
    public GameObject createBuilding(BuildingFactory.BuildingType type, Transform bTransform)
    {
        Vector3 position = bTransform.position;

        position.z = 0;
        switch (type)
        {
        case BuildingType.HOUSE:
        case BuildingType.STORAGE:
            return(Instantiate(storage, position, bTransform.rotation));

        case BuildingType.MINE:
            return(Instantiate(mine, position, bTransform.rotation));

        case BuildingType.BARRACK:
            return(Instantiate(barrack, position, bTransform.rotation));

        case BuildingType.CAMP:
        case BuildingType.TOWNHALL:
            return(Instantiate(townhall, position, bTransform.rotation));

        case BuildingType.CANON:
            return(Instantiate(canon, position, bTransform.rotation));

        default:
            return(Instantiate(townhall, position, bTransform.rotation));
        }
    }
Esempio n. 3
0
    // Load map objects gui

    public void _LoadObjectsGUI()
    {
        for (int i = 0; i < objects.Count; i++)
        {
            BuildingFactory.BuildingType objectType = (BuildingFactory.BuildingType)objects[i].type;
            objects[i].spriteUI = BuildingFactory.instance.createBuilding(objectType, CameraManager.instance.transform);
            objects[i]._LoadGUI();

            if (i == 1)
            {
                objects[i].spriteUI.transform.Find("Structure").GetComponentInChildren <SpriteRenderer>().sprite = null;
            }
        }
    }
Esempio n. 4
0
    public void _AddMapObject(BuildingFactory.BuildingType _type, int _level, Vector2 _place)
    {
        // If place is invalid, inform user
        if (_place.x == -1 || _place.y == -1)
        {
            NotifyBoardUI.Instance._Active("Đã hết đất trống", "Vui lòng di chuyển các công trình hiện tại để tạo đất trống");

            return;
        }
        // Create an object with type and level
        MapObject mapObject = new MapObject()
        {
            type     = (int)_type,
            id       = objects.Count,
            size     = Number.MAP_OBJECT_SIZE[(int)_type],
            level    = _level,
            place    = _place,
            spriteUI = BuildingFactory.instance.createBuilding(_type, CameraManager.instance.transform)
        };

        //choose right CellFactory of UI of MapObject
        // if (mapObject.size == 3)
        //     mapObject.spriteUI = new BuilderUI (new Cell3x3Factory (), _type, Number.MAP_OBJECT_SIZE[_type]);

        // If there is a slot for the object
        if (mapObject.place != null)
        {
            // Add it to list objects
            objects.Add(mapObject);

            // Check on data
            for (float i = mapObject.place.x; i > mapObject.place.x - mapObject.size; i--)
            {
                for (float j = mapObject.place.y; j > mapObject.place.y - mapObject.size; j--)
                {
                    data[(int)i, (int)j] = mapObject.id;
                }
            }
            mapObject._LoadGUI();
        }
    }