Exemple #1
0
    public override void CreateData()
    {
        CSDefaultData ddata = null;
        bool          isNew = m_Creator.m_DataInst.AssignData(ID, CSConst.etppSolar, ref ddata);

        m_Data = ddata as CSPowerPlanetData;

        if (isNew)
        {
            Data.m_Name       = CSUtils.GetEntityName(m_Type);
            Data.m_Durability = Info.m_Durability;
        }
        else
        {
            StartRepairCounter(Data.m_CurRepairTime, Data.m_RepairTime, Data.m_RepairValue);
            StartDeleteCounter(Data.m_CurDeleteTime, Data.m_DeleteTime);

            // Get Charging Items
            foreach (KeyValuePair <int, int> kvp in Data.m_ChargingItems)
            {
                m_ChargingItems[kvp.Key] = ItemMgr.Instance.Get(kvp.Value).GetCmpt <Energy>();
            }
        }

        m_IsRunning = true;
    }
Exemple #2
0
    public override void CreateData()
    {
        CSDefaultData ddata = null;
        bool          isNew;

        if (GameConfig.IsMultiMode)
        {
            isNew = MultiColonyManager.Instance.AssignData(ID, CSConst.dtDwelling, ref ddata, _ColonyObj);
        }
        else
        {
            isNew = m_Creator.m_DataInst.AssignData(ID, CSConst.dtDwelling, ref ddata);
        }
        m_Data = ddata as CSDwellingsData;

        if (isNew)
        {
            Data.m_Name       = CSUtils.GetEntityName(m_Type);
            Data.m_Durability = Info.m_Durability;
        }
        else
        {
            StartRepairCounter(Data.m_CurRepairTime, Data.m_RepairTime, Data.m_RepairValue);
            StartDeleteCounter(Data.m_CurDeleteTime, Data.m_DeleteTime);
        }
    }
    public override void CreateData()
    {
        CSDefaultData ddata = null;
        bool          isNew;

        if (GameConfig.IsMultiMode)
        {
            isNew = MultiColonyManager.Instance.AssignData(ID, CSConst.dtTreat, ref ddata, _ColonyObj);
        }
        else
        {
            isNew = m_Creator.m_DataInst.AssignData(ID, CSConst.dtTreat, ref ddata);
        }
        m_Data = ddata as CSTreatData;

        if (isNew)
        {
            Data.m_Name       = CSUtils.GetEntityName(m_Type);
            Data.m_Durability = Info.m_Durability;
        }
        else
        {
            StartRepairCounter(Data.m_CurRepairTime, Data.m_RepairTime, Data.m_RepairValue);
            StartDeleteCounter(Data.m_CurDeleteTime, Data.m_DeleteTime);

            if (Data.npcIds.Count > 0)
            {
                foreach (int id in Data.npcIds)
                {
                    PeEntity npc = EntityMgr.Instance.Get(id);
                    if (npc != null)
                    {
                        allPatients.Add(npc);
                    }
                }
            }
            if (allPatients.Count > 0)
            {
                treatmentInUse = m_MgCreator.FindTreatment(allPatients[0].Id, true);
            }
            if (Data.m_ObjID >= 0)
            {
                medicineItem = ItemAsset.ItemMgr.Instance.Get(Data.m_ObjID);
            }

            StartCounter(Data.m_CurTime, Data.m_Time);

            //--to do update UI
        }
    }
Exemple #4
0
    public override void CreateData()
    {
        CSDefaultData ddata = null;
        bool          isNew;

        if (GameConfig.IsMultiMode)
        {
            isNew = MultiColonyManager.Instance.AssignData(ID, CSConst.dtStorage, ref ddata, _ColonyObj);
        }
        else
        {
            isNew = m_Creator.m_DataInst.AssignData(ID, CSConst.dtStorage, ref ddata);
        }
        m_Data = ddata as CSStorageData;

        if (isNew)
        {
            Data.m_Name       = CSUtils.GetEntityName(m_Type);
            Data.m_Durability = Info.m_Durability;
        }
        else
        {
            StartRepairCounter(Data.m_CurRepairTime, Data.m_RepairTime, Data.m_RepairValue);
            StartDeleteCounter(Data.m_CurDeleteTime, Data.m_DeleteTime);

            foreach (KeyValuePair <int, int> kvp in Data.m_Items)
            {
                ItemObject ioject = ItemMgr.Instance.Get(kvp.Value);
                if (ioject != null)
                {
                    SlotList slotList = m_Package.GetSlotList(ioject.protoId);
                    int      listCnt  = slotList.Count;
                    int      key      = kvp.Key % listCnt;
                    slotList[key] = ioject;
                }
            }
        }

        //for (int i = 0; i < m_WorkSpaces.Length; i++)
        //{
        //    m_WorkSpaces[i].Pos = Position;
        //    m_WorkSpaces[i].m_Rot = Quaternion.identity;
        //}
    }
    public override void CreateData()
    {
        CSDefaultData ddata = null;

        bool isNew;

        if (GameConfig.IsMultiMode)
        {
            isNew = MultiColonyManager.Instance.AssignData(ID, CSConst.etppFusion, ref ddata, _ColonyObj);
        }
        else
        {
            isNew = m_Creator.m_DataInst.AssignData(ID, CSConst.etppFusion, ref ddata);
        }

        m_Data = ddata as CSPPFusionData;

        if (isNew)
        {
            Data.m_Name       = CSUtils.GetEntityName(m_Type);
            Data.m_Durability = Info.m_Durability;
            StartWorkingCounter();
        }
        else
        {
            StartRepairCounter(Data.m_CurRepairTime, Data.m_RepairTime, Data.m_RepairValue);
            StartDeleteCounter(Data.m_CurDeleteTime, Data.m_DeleteTime);

            StartWorkingCounter(Data.m_CurWorkedTime, Data.m_WorkedTime);

            // Get Charging Items
            foreach (KeyValuePair <int, int> kvp in Data.m_ChargingItems)
            {
                ItemObject itemObj = ItemMgr.Instance.Get(kvp.Value);
                if (itemObj != null)
                {
                    m_ChargingItems[kvp.Key] = ItemMgr.Instance.Get(kvp.Value).GetCmpt <Energy>();
                }
            }
        }
    }
Exemple #6
0
    public override void CreateData()
    {
        CSDefaultData ddata = null;
        bool          isNew;

        if (GameConfig.IsMultiMode)
        {
            isNew = MultiColonyManager.Instance.AssignData(ID, CSConst.dtRepair, ref ddata, _ColonyObj);
        }
        else
        {
            isNew = m_Creator.m_DataInst.AssignData(ID, CSConst.dtRepair, ref ddata);
        }
        m_Data = ddata as CSRepairData;

        if (isNew)
        {
            Data.m_Name       = CSUtils.GetEntityName(m_Type);
            Data.m_Durability = Info.m_Durability;
        }
        else
        {
            StartRepairCounter(Data.m_CurRepairTime, Data.m_RepairTime, Data.m_RepairValue);
            StartDeleteCounter(Data.m_CurDeleteTime, Data.m_DeleteTime);
            if (ItemMgr.Instance.Get(Data.m_ObjID) == null)
            {
                m_Item = null;
            }
            else
            {
                m_Item = ItemMgr.Instance.Get(Data.m_ObjID).GetCmpt <Repair>();
            }
            StartCounter(Data.m_CurTime, Data.m_Time);
        }

        //for (int i = 0; i < m_WorkSpaces.Length; i++)
        //{
        //    m_WorkSpaces[i].Pos = Position;
        //    m_WorkSpaces[i].m_Rot = Quaternion.identity;
        //}
    }
Exemple #7
0
    public override void CreateData()
    {
        CSDefaultData ddata = null;
        bool          isNew;

        if (GameConfig.IsMultiMode)
        {
            isNew = MultiColonyManager.Instance.AssignData(ID, CSConst.dtFactory, ref ddata, _ColonyObj);
        }
        else
        {
            isNew = m_Creator.m_DataInst.AssignData(ID, CSConst.dtFactory, ref ddata);
        }
        m_Data = ddata as CSFactoryData;

        if (isNew)
        {
            Data.m_Name       = CSUtils.GetEntityName(m_Type);
            Data.m_Durability = Info.m_Durability;
        }
        else
        {
            StartRepairCounter(Data.m_CurRepairTime, Data.m_RepairTime, Data.m_RepairValue);
            StartDeleteCounter(Data.m_CurDeleteTime, Data.m_DeleteTime);

            // Clear old record
            for (int i = 0; i < Data.m_CompoudItems.Count;)
            {
                ItemProto item_data = ItemProto.GetItemData(Data.m_CompoudItems[i].itemID);
                if (item_data == null)
                {
                    Data.m_CompoudItems.RemoveAt(i);
                }
                else
                {
                    i++;
                }
            }
        }
    }
    public override void CreateData()
    {
        CSDefaultData ddata = null;
        bool          isNew;

        if (PeGameMgr.IsMulti)
        {
            isNew = MultiColonyManager.Instance.AssignData(ID, CSConst.dtProcessing, ref ddata, _ColonyObj);
        }
        else
        {
            isNew = m_Creator.m_DataInst.AssignData(ID, CSConst.dtProcessing, ref ddata);
        }
        m_Data = ddata as CSProcessingData;

        InitNPC();

        if (isNew)
        {
            Data.m_Name       = CSUtils.GetEntityName(m_Type);
            Data.m_Durability = Info.m_Durability;
        }
        else
        {
            StartRepairCounter(Data.m_CurRepairTime, Data.m_RepairTime, Data.m_RepairValue);
            StartDeleteCounter(Data.m_CurDeleteTime, Data.m_DeleteTime);
            for (int i = 0; i < Data.mTaskTable.Length; i++)
            {
                if (Data.mTaskTable[i] != null)
                {
                    Data.mTaskTable[i].StartCounterFromRecord();
                    Data.mTaskTable[i].taskAccomplished = TaskAccomplished;
                }
            }
        }
    }
Exemple #9
0
    public bool AssignData(int id, int type, ref CSDefaultData refData, ColonyBase _colony)
    {
        if (_colony != null && _colony._RecordData != null)
        {
            refData = _colony._RecordData;
            return(false);
        }
        else
        {
            switch (type)
            {
            case CSConst.dtAssembly:
                refData = new CSAssemblyData();
                break;

            case CSConst.dtStorage:
                refData = new CSStorageData();
                break;

            case CSConst.dtEngineer:
                refData = new CSEngineerData();
                break;

            case CSConst.dtEnhance:
                refData = new CSEnhanceData();
                break;

            case CSConst.dtRepair:
                refData = new CSRepairData();
                break;

            case CSConst.dtRecyle:
                refData = new CSRecycleData();
                break;

            case CSConst.dtppCoal:
                refData = new CSPPCoalData();
                break;

            case CSConst.dtppSolar:
                refData = new CSPPSolarData();
                break;

            case CSConst.dtDwelling:
                refData = new CSDwellingsData();
                break;

            case CSConst.dtFarm:
                refData = new CSFarmData();
                break;

            case CSConst.dtFactory:
                refData = new CSFactoryData();
                break;

            case CSConst.dtProcessing:
                refData = new CSProcessingData();
                break;

            case CSConst.dtTrade:
                refData = new CSTradeData();
                break;

            case CSConst.dtTrain:
                refData = new CSTrainData();
                break;

            case CSConst.dtCheck:
                refData = new CSCheckData();
                break;

            case CSConst.dtTreat:
                refData = new CSTreatData();
                break;

            case CSConst.dtTent:
                refData = new CSTentData();
                break;

            case CSConst.dtppFusion:
                refData = new CSPPFusionData();
                break;

            default:
                refData = new CSDefaultData();
                break;
            }
            refData.ID = id;
            return(true);
        }
    }
    //  <CETC> Assign Record Data
    public bool AssignData(int id, int type, ref CSDefaultData refData)
    {
        // Personnel
        if (type == CSConst.dtPersonnel)
        {
            if (m_PersonnelDatas.ContainsKey(id))
            {
                Debug.Log("The Personnel Data ID [" + id.ToString() + "] is exist.");
                refData = m_PersonnelDatas[id];
                return(false);
            }
            else
            {
                refData    = new CSPersonnelData();
                refData.ID = id;
                m_PersonnelDatas.Add(id, refData as CSPersonnelData);
                return(true);
            }
        }
        // Object
        else
        {
            if (m_ObjectDatas.ContainsKey(id))
            {
                Debug.Log("The Object data ID [" + id.ToString() + "] is exist.");
                refData = m_ObjectDatas[id];
                return(false);
            }
            else
            {
                switch (type)
                {
                case CSConst.dtAssembly:
                    refData = new CSAssemblyData();
                    break;

                case CSConst.dtStorage:
                    refData = new CSStorageData();
                    break;

                case CSConst.dtEngineer:
                    refData = new CSEngineerData();
                    break;

                case CSConst.dtEnhance:
                    refData = new CSEnhanceData();
                    break;

                case CSConst.dtRepair:
                    refData = new CSRepairData();
                    break;

                case CSConst.dtRecyle:
                    refData = new CSRecycleData();
                    break;

                case CSConst.dtppCoal:
                    refData = new CSPPCoalData();
                    break;

                case CSConst.dtDwelling:
                    refData = new CSDwellingsData();
                    break;

                case CSConst.dtFactory:
                    refData = new CSFactoryData();
                    break;

                case CSConst.dtProcessing:
                    refData = new CSProcessingData();
                    break;

                default:
                    //refData = new CSDefaultData();
                    refData = new CSObjectData();
                    break;
                }

                refData.ID = id;
                m_ObjectDatas.Add(id, refData as CSObjectData);
                return(true);
            }
        }
    }
    public void CreateData()
    {
        CSDefaultData ddata = null;
        bool          isNew = m_Creator.m_DataInst.AssignData(ID, CSConst.dtPersonnel, ref ddata);

        m_Data = ddata as CSPersonnelData;

        if (isNew)
        {
        }
        else
        {
            Dwellings = m_Creator.GetCommonEntity(m_Data.m_DwellingsID) as CSDwellings;
            Dwellings.AddNpcs(this);
            CSCommon workRoom = m_Creator.GetCommonEntity(m_Data.m_WorkRoomID);
            //if (workRoom != null && workRoom.AddWorker(this))
            WorkRoom = workRoom;

//			_createGuardTriggerGo ();
//			m_GuardTrigger.Pos = Data.m_GuardPos;

            //init processor
            if (processingIndex >= 0)
            {
                if (m_ProcessingIndexChangeListenner != null)
                {
                    m_ProcessingIndexChangeListenner(this, -1, processingIndex);
                }
            }

//			if (m_Dwellings.m_Assembly != null)
//			{
////				_updateWorkType(-1, Data.m_WorkMode);
//
//				// Add Soldier to all Entities and set the guard pos
//				// if the new work mode is Guard.
//				if (m_WorkMode == CSConst.pwtGuard )
//				{
//					if (Data.m_GuardPos == Vector3.zero)
//						SetGuardAttr(m_Pos);
//					else
//						SetGuardAttr(Data.m_GuardPos);
//				}
//
//				// Add Soldier to all Entities if the new work mode is Patrol
//				if (m_WorkMode == CSConst.pwtPatrol)
//				{
//					m_Dwellings.m_Assembly.AddSoldier(this);
//
////					Dictionary<int, CSCommon> commons = mgCreator.GetCommonEntities();
//					List<CSCommon>  commons = m_Dwellings.m_Assembly .GetBelongCommons();
//
////					foreach (KeyValuePair<int, CSCommon> kvp in commons)
////						kvp.Value.AddSoldier(this);
//					foreach (CSCommon common in commons)
//						common.AddSoldier(this);
//				}
//			}



            //if (m_Dwellings != null && m_Dwellings.Assembly != null)
            //{
            //    if ( !m_Dwellings.Assembly.InRange(m_Pos) )
            //        _state = CSConst.pstUnknown;
            //}
        }

        //--to do: wait
        //m_Npc.RegisterListener(OnNPCEventTrigger);
    }
    public override void CreateData()
    {
        CSDefaultData ddata = null;
        bool          isNew;

        if (GameConfig.IsMultiMode)
        {
            isNew = MultiColonyManager.Instance.AssignData(ID, CSConst.dtTent, ref ddata, _ColonyObj);
        }
        else
        {
            isNew = m_Creator.m_DataInst.AssignData(ID, CSConst.dtTent, ref ddata);
        }
        m_Data = ddata as CSTentData;

        if (isNew)
        {
            Data.m_Name       = CSUtils.GetEntityName(m_Type);
            Data.m_Durability = Info.m_Durability;
            for (int i = 0; i < allSickbeds.Length; i++)
            {
                allSickbeds[i].tentBuilding = this;
                if (pePatient != null)
                {
                    allSickbeds[i].bedLay = pePatient.Lays[i];
                }
                if (resultTrans != null)
                {
                    allSickbeds[i].bedTrans = resultTrans[i];
                }
            }
        }
        else
        {
            StartRepairCounter(Data.m_CurRepairTime, Data.m_RepairTime, Data.m_RepairValue);
            StartDeleteCounter(Data.m_CurDeleteTime, Data.m_DeleteTime);
            //--to do
            if (Data.npcIds.Count > 0)
            {
                foreach (int id in Data.npcIds)
                {
                    PeEntity npc = EntityMgr.Instance.Get(id);
                    if (npc != null)
                    {
                        allPatients.Add(npc);
                    }
                }
            }

            for (int i = 0; i < CSMedicalTentConst.BED_AMOUNT_MAX; i++)
            {
                Sickbed sb = allSickbeds[i];
                if (sb.npcId >= 0)
                {
                    sb.npc = EntityMgr.Instance.Get(sb.npcId);
                }
                else
                {
                    sb.npc = null;
                }
                sb.StartCounterFromRecord();
                sb.tentBuilding = this;
                if (pePatient != null)
                {
                    sb.bedLay = pePatient.Lays[i];
                }
                if (resultTrans != null)
                {
                    sb.bedTrans = resultTrans[i];
                }
            }
        }
    }