예제 #1
0
 public void OnEnable()
 {
     cam = CombatAreaManager.Instance;
     SetButtonsByHuntingAreas();
     ShowMonsterInfo(0);
     updateProgressCoroutine = StartCoroutine(UpdateProgress());
 }
예제 #2
0
    void Awake()
    {
        _instance = this;
        LoadHuntingAreaData();
        LoadBossAreaData();
        LoadMonsterData();
        huntingAreas = new List <HuntingArea>();
        bossAreas    = new List <BossArea>();

        PublicHuntingAreaIndex = -1;
        BossAreaIndex          = 0;
    }
예제 #3
0
    public override void InitFromSaveData(CombatAreaData input)
    {
        //base.InitFromSaveData(input);

        HuntingAreaData tempData = input as HuntingAreaData;

        killCount = tempData.killCount;

        #region monsterEnabled
        foreach (int key in monstersEnabled.Keys.ToList())
        {
            monstersEnabled[key].GetComponent <Monster>().StopAllCoroutines();
            Destroy(monstersEnabled[key]);
        }
        monstersEnabled.Clear();

        foreach (KeyValuePair <int, MonsterData> kvp in input.monstersEnabled)
        {
            GameObject newObject;
            GameObject sample;
            if (kvp.Value.monsterNum == monsterSample1.GetComponent <Monster>().monsterNum)
            {
                sample    = monsterSample1;
                newObject = Instantiate(monsterSample1);
            }
            else
            {
                sample    = monsterSample2;
                newObject = Instantiate(monsterSample2);
            }
            GameManager.InitLoadedMonster(newObject, sample, kvp.Value, true);
            Monster monsterComp = newObject.GetComponent <Monster>();
            monsterComp.isNew = false;
            monsterComp.SetHabitat(this);
            monsterComp.corpseDecayEvent += OnMonsterCorpseDecay;
            CombatAreaManager.SetMonsterDefaultEffects(monsterComp);
            //newObject.SetActive(true);
            newObject.transform.parent = this.gameObject.transform;

            monstersEnabled.Add(kvp.Key, newObject);
        }
        #endregion

        #region monsterDisabled
        foreach (int key in monstersDisabled.Keys.ToList())
        {
            Destroy(monstersDisabled[key]);
        }
        monstersDisabled.Clear();

        //Debug.Log("data disabled : " + input.monstersDisabled.Count);
        foreach (KeyValuePair <int, MonsterData> kvp in input.monstersDisabled)
        {
            GameObject newObject;
            GameObject sample;
            if (kvp.Value.monsterNum == monsterSample1.GetComponent <Monster>().monsterNum)
            {
                sample    = monsterSample1;
                newObject = Instantiate(monsterSample1);
            }
            else
            {
                sample    = monsterSample2;
                newObject = Instantiate(monsterSample2);
            }
            //GameManager.Instance.InitLoadedMonster(newObject, sample, kvp.Value, true);
            Monster monsterComp = newObject.GetComponent <Monster>();
            monsterComp.InitMonster(sample.GetComponent <Monster>());
            monsterComp.index      = input.monstersDisabled[kvp.Key].index;
            monsterComp.prefabPath = input.monstersDisabled[kvp.Key].prefabPath;
            monsterComp.SetHabitat(this);
            monsterComp.corpseDecayEvent += OnMonsterCorpseDecay;
            CombatAreaManager.SetMonsterDefaultEffects(monsterComp);
            monstersDisabled.Add(kvp.Key, newObject);
            newObject.transform.parent = this.gameObject.transform;
        }
        #endregion
    }