Example #1
0
        public AIArchitect(AIController aiController)
        {
            defences           = new Queue <BuildingTypes>();
            avaliablePositions = new Dictionary <StructureType, List <Vector3> >();
            avaliablePositions.Add(StructureType.MILITARY_BUILDING, new List <Vector3>());
            avaliablePositions.Add(StructureType.RESOURCE_BUILDING, new List <Vector3>());
            avaliablePositions.Add(StructureType.TOWER, new List <Vector3>());
            avaliablePositions.Add(StructureType.HORIZONTALL_WALL, new List <Vector3>());
            avaliablePositions.Add(StructureType.VERTICALL_WALL, new List <Vector3>());
            avaliablePositions.Add(StructureType.CORNER_WALL, new List <Vector3>());
            avaliablePositions.Add(StructureType.DEFENCE_ZONE, new List <Vector3>());
            constructionGrid = GameObject.Find("GameController").GetComponent <ConstructionGrid>();
            buildingsPlaced  = 0;
            ai = aiController;

            baseCriticPoints = new List <Vector3>();
            constructionGrid.reservePositionForStronghold(ai.rootBasePosition);

            if (constructionGrid.mode == AIController.AIMode.BATTLE)
            {
                planifyBuildingsAccordingToDifficulty();
                readMapData();
            }
            else
            {
                buildingPrefs = new List <BuildingTypes>();
            }
        }
Example #2
0
        public AIArchitect(AIController aiController)
        {
            defences = new Queue<BuildingTypes>();
            avaliablePositions = new Dictionary<StructureType, List<Vector3>>();
            avaliablePositions.Add(StructureType.MILITARY_BUILDING, new List<Vector3>());
            avaliablePositions.Add(StructureType.RESOURCE_BUILDING, new List<Vector3>());
            avaliablePositions.Add(StructureType.TOWER, new List<Vector3>());
            avaliablePositions.Add(StructureType.HORIZONTALL_WALL, new List<Vector3>());
            avaliablePositions.Add(StructureType.VERTICALL_WALL, new List<Vector3>());
            avaliablePositions.Add(StructureType.CORNER_WALL, new List<Vector3>());
            avaliablePositions.Add(StructureType.DEFENCE_ZONE, new List<Vector3>());
            constructionGrid = GameObject.Find("GameController").GetComponent<ConstructionGrid>();
            buildingsPlaced = 0;
            ai = aiController;

            baseCriticPoints = new List<Vector3>();
            constructionGrid.reservePositionForStronghold(ai.rootBasePosition);

            if(constructionGrid.mode == AIController.AIMode.BATTLE)
            {
                planifyBuildingsAccordingToDifficulty();
                readMapData();
            }
            else
            {
                buildingPrefs = new List<BuildingTypes>();
            }
        }
Example #3
0
        // Use this for initialization
        //void Start()
        public BuildingsManager()
        {
            //player = GetComponent<Player>();
            //inputs = etComponent<UserInput>();
            grid   = GameObject.FindWithTag("GameController").GetComponent <ConstructionGrid>();
            cursor = CursorManager.Instance;
            // alpha components for the colors
            red.a   = 0.5f;
            green.a = 0.5f;
            InitBuildingStruct();

            notifier = GameObject.FindWithTag("GameController").GetComponent <EventsNotifier>();
        }
Example #4
0
        // Use this for initialization
        //void Start()
        public BuildingsManager()
        {
            //player = GetComponent<Player>();
            //inputs = etComponent<UserInput>();
            grid = GameObject.FindWithTag("GameController").GetComponent<ConstructionGrid>();
            cursor = CursorManager.Instance;
            // alpha components for the colors
            red.a = 0.5f;
            green.a = 0.5f;
            InitBuildingStruct();

            notifier = GameObject.FindWithTag("GameController").GetComponent<EventsNotifier>();

        }
Example #5
0
    /// <summary>
    /// When destroyed, it's called
    /// </summary>
    public override void OnDestroy()
    {
        GameObject gridGO = GameObject.Find("GameController");

        if (gridGO != null)
        {
            ConstructionGrid grid     = gridGO.GetComponent <ConstructionGrid>();
            Vector3          disc_pos = grid.discretizeMapCoords(gameObject.transform.position);
            grid.liberatePosition(disc_pos);
        }

        ResourcesEvents.get.unregisterBuildingToEvents(this);

        base.OnDestroy();

        Assert.IsTrue(status == EntityStatus.DESTROYED);
    }
Example #6
0
 void Awake()
 {
     instance = this;
 }
Example #7
0
 void Awake()
 {
     instance = this;
 }