Esempio n. 1
0
    public MissionTowerData Clone()
    {
        MissionTowerData newData = CreateInstance <MissionTowerData>();

        this.CopyTo(newData);
        return(newData);
    }
Esempio n. 2
0
 public void Initialize(MissionTowerData data)
 {
     m_Priority = data.Priority;
     m_Type     = data.Type;
     m_Reward   = data.Reward;
     m_Data     = ScriptableObject.CreateInstance <MissionTowerData>();
     data.CopyTo(m_Data);
     m_Data.PhaseDatas.Sort();
     m_Codes = GenerateCode();
 }
Esempio n. 3
0
 public void CopyTo(MissionTowerData other)
 {
     other.m_Id             = this.m_Id;
     other.m_InteractRadius = this.m_InteractRadius;
     other.m_ActivateRadius = this.m_ActivateRadius;
     other.m_MinRadius      = this.m_MinRadius;
     other.m_MaxRadius      = this.m_MaxRadius;
     other.m_ActivatingTime = this.m_ActivatingTime;
     other.m_CodeLenghtMin  = this.m_CodeLenghtMin;
     other.m_CodeLenghtMax  = this.m_CodeLenghtMax;
     other.m_PhaseDatas     = this.m_PhaseDatas;
 }
    public Mission CreateMission(eMissionType type, Transform pos = null, uint level = 0)
    {
        Mission mission = null;

        switch (type)
        {
        case eMissionType.Tower:
            GameObject       tower             = new GameObject("MissionTower");
            MissionTower     missionTower      = tower.AddComponent <MissionTower>();
            string           towerDataFileName = string.Format("MissionTowerSetting_{0}", level);
            MissionTowerData data = ResourceManager.m_Instance.LoadData(typeof(MissionTowerData), "Mission/Settings", towerDataFileName) as MissionTowerData;
            missionTower.Initialize(data);
            mission = missionTower;

            if (pos != null)
            {
                tower.transform.SetParent(pos);
                tower.transform.position = pos.position;
            }

            UIInGameMain.Instance.AddMissionInfo(mission);
            UIInGameMain.Instance.AddDynamicMissionMsg(missionTower);
            UIInGameMain.Instance.AddMapPoint(tower, eMapPointType.MISSIONTOWER);
            break;

        case eMissionType.KillMob:
            GameObject         killMob             = new GameObject("MissionKillMob");
            MissionKillMob     missionKill         = killMob.AddComponent <MissionKillMob>();
            string             killMobDataFileName = string.Format("MissionKillMobSetting_{0}", level);
            MissionKillMobData killData            = ResourceManager.m_Instance.LoadData(typeof(MissionKillMobData), "Mission/Settings", killMobDataFileName) as MissionKillMobData;
            missionKill.Initialize(killData);
            mission = missionKill;

            UIInGameMain.Instance.AddMissionInfo(mission);
            break;
        }

        return(mission);
    }