Inheritance: MonoBehaviour
コード例 #1
0
        void Awake()
        {
            _trans             = transform;
            _triggeredTriggers = new List <LOSEventTrigger>();

            _manager = GameObject.FindObjectOfType <LOSManager>();
        }
コード例 #2
0
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    public void OnDisable()
    {
        LOSManager.RemoveEntity(this);
    }
コード例 #3
0
    // Request a change to the FOW colour

    //******************************************************************************************************************************
    //
    //      FUNCTIONS
    //
    //******************************************************************************************************************************

    // Tell the LOS manager that we're here
    public void OnEnable()
    {
        LOSManager.AddEntity(this);
    }
コード例 #4
0
ファイル: GameInitializer.cs プロジェクト: jgirald/ES2015F
    void Start()
    {
        // Replace current scene map by GameData.map
        // throw new UnityException("GameInitializer not implemented yet"); // TODO: Delete this

        // Change scene map
        if (sceneMap != null)
            Destroy(sceneMap);

        // Deactive LOSManager before Instantiating
        terrainLOSManager = GameData.map.GetComponent<LOSManager>();
        terrainLOSManager.enabled = false; // remember to restore prefab later

        // Deactivate A* too
        foreach (Transform t in GameData.map.transform){
            if (t.gameObject.name.Equals ("A*"))
                t.gameObject.SetActive(false); // remember to reactivate it later in prefab
        }

        createdMap = (GameObject) Instantiate (
            GameData.map,
            Vector3.zero,
            Quaternion.identity
        );

        terrainLOSManager.enabled = true; // restore prefab

        // Reactivate A* too
        foreach (Transform t in GameData.map.transform){
            if (t.gameObject.name.Equals ("A*"))
                t.gameObject.SetActive(true);
        }

        MapInfo mapInfo = createdMap.GetComponent<MapInfo>();

        terrainLOSManager = createdMap.GetComponent<LOSManager>();
        // Remember to activate LOSManager when everything is set

        // Change minimap settings
        MinimapCamera minimapCamera = minimap.GetComponent<MinimapCamera>();
        minimapCamera.ground = createdMap;
        minimapCamera.updateCameraAttributes();

        // Replace current Town Centers by those detailed by GameData and GameData.map
        // Delete old Town Centers
        foreach (Transform t in buildings.transform) {
            Destroy(t.gameObject);
        }

        // Delete old Units
        foreach (Transform t in units.transform) {
            Destroy(t.gameObject);
        }

        // Instantiate new Town Centers according to the number of players
        LOSEntity townCenterLOSEntity;
        townCenters = new List<GameObject>();

        // Player
        Civilization playerCiv = Utils.GetEnumValue<Civilization>(GameData.player.civ.ToString());

        GameObject townCenterPrefab = DataManager.Instance.civilizationDatas[
            playerCiv
        ].units[UnitType.TownCenter];

        hud.setCivilization(playerCiv);

        // Instantiate player town Center
        GameObject townCenter = (GameObject) Instantiate (
            townCenterPrefab,
            mapInfo.towncenter1.transform.position,
            mapInfo.towncenter1.transform.rotation
        );

        Identity iden = townCenter.GetComponent<Identity>();
        if (iden != null) iden.player = Player.Player;

        townCenter.name = "PlayerTownCenter";
        townCenter.transform.SetParent(buildings.transform);

        townCenter.tag = "Ally";
        GameController.Instance.addSelectedPrefab(townCenter);

        townCenters.Add(townCenter);

        int cpus = 0;
        Transform townCenterTransform;
        Player player;
        Identity idenCPU;
        foreach (GameData.CPUData cpu in GameData.cpus) {
            cpus++;

            townCenterPrefab = DataManager.Instance.civilizationDatas[cpu.civ].units[UnitType.TownCenter];

            if (cpus == 1)
            {
                townCenterTransform = mapInfo.towncenter2.transform;
                player = Player.CPU1;
            }
            else if (cpus == 2)
            {
                townCenterTransform = mapInfo.towncenter3.transform;
                player = Player.CPU2;
            }
            else if (cpus == 3)
            {
                townCenterTransform = mapInfo.towncenter4.transform;
                player = Player.CPU3;
            }
            else
                continue;

            townCenter = (GameObject) Instantiate (
                townCenterPrefab,
                townCenterTransform.position,
                townCenterTransform.rotation
            );

            idenCPU = townCenter.GetComponent<Identity>();
            if (idenCPU != null)
            {
                idenCPU.player = player;
            }

            townCenter.name = "CPU" + cpus.ToString() + "TownCenter";
            townCenter.transform.SetParent(buildings.transform);
            townCenter.tag = "Enemy";
            townCenters.Add(townCenter);
        }
        GameController.Instance.hud.hideRightPanel();
        GameController.Instance.addSelectedPrefabstoCurrentUnits();
        GameController.Instance.addTeamCirclePrefabstoCurrentUnits();
    }
コード例 #5
0
 // Use this for initialization
 void Start()
 {
     init();
     losMan = GameObject.FindGameObjectWithTag("Ground").GetComponent<LOSManager>();
     LOSinactive = losMan.revealed;
 }