Exemplo n.º 1
0
    public static void AddColonyItem(ColonyBase item)
    {
        if (item == null || item._Network == null)
        {
            return;
        }
        if (item == null || item._Network == null)
        {
            return;
        }
        if (!ColonyMap.ContainsKey(item._Network.TeamId))
        {
            ColonyMap[item._Network.TeamId] = new Dictionary <int, List <ColonyBase> >();
        }

        if (!ColonyMap[item._Network.TeamId].ContainsKey(item._Network.ExternId))
        {
            ColonyMap[item._Network.TeamId][item._Network.ExternId] = new List <ColonyBase>();
        }

        if (!ColonyMap[item._Network.TeamId][item._Network.ExternId].Contains(item))
        {
            ColonyMap[item._Network.TeamId][item._Network.ExternId].Add(item);
        }
    }
Exemplo n.º 2
0
 public static void RemoveColonyItem(ColonyBase item)
 {
     if (item == null || item._Network == null)
     {
         return;
     }
     if (ColonyMap.ContainsKey(item._Network.TeamId) && ColonyMap[item._Network.TeamId].ContainsKey(item._Network.ExternId))
     {
         ColonyMap[item._Network.TeamId][item._Network.ExternId].Remove(item);
     }
 }
Exemplo n.º 3
0
    protected override void OnPEInstantiate(uLink.NetworkMessageInfo info)
    {
        _id       = info.networkView.initialData.Read <int>();
        _externId = info.networkView.initialData.Read <int>();
        _ownerId  = info.networkView.initialData.Read <int>();
        _teamId   = info.networkView.initialData.Read <int>();

        _pos = transform.position;

        //prepare the data
        switch (ExternId)
        {
        case ColonyIDInfo.COLONY_ASSEMBLY:
        {
            PlayerNetwork.OnTeamChangedEventHandler += OnTeamChange;
            PlayerNetwork.OnLimitBoundsAdd(Id, new Bounds(_pos, new Vector3(128, 128, 128)));
            _ColonyObj = new ColonyAssembly(this);
            RPCServer(EPacketType.PT_CL_InitDataAssembly);
        }
        break;

        case ColonyIDInfo.COLONY_PPCOAL:
        {
            _ColonyObj = new ColonyPPCoal(this);
            RPCServer(EPacketType.PT_CL_InitDataPPCoal);
        }
        break;

        case ColonyIDInfo.COLONY_STORAGE:
        {
            _ColonyObj = new ColonyStorage(this);
            RPCServer(EPacketType.PT_CL_InitDataStorage);
        }
        break;

        case ColonyIDInfo.COLONY_REPAIR:
        {
            _ColonyObj = new ColonyRepair(this);
            RPCServer(EPacketType.PT_CL_InitDataRepair);
        }
        break;

        case ColonyIDInfo.COLONY_DWELLINGS:
        {
            _ColonyObj = new ColonyDwellings(this);
            RPCServer(EPacketType.PT_CL_InitDataDwellings);
        }
        break;

        case ColonyIDInfo.COLONY_ENHANCE:
        {
            _ColonyObj = new ColonyEnhance(this);
            RPCServer(EPacketType.PT_CL_InitDataEnhance);
        }
        break;

        case ColonyIDInfo.COLONY_RECYCLE:
        {
            _ColonyObj = new ColonyRecycle(this);
            RPCServer(EPacketType.PT_CL_InitDataRecycle);
        }
        break;

        case ColonyIDInfo.COLONY_FARM:
        {
            _ColonyObj = new ColonyFarm(this);
            RPCServer(EPacketType.PT_CL_InitDataFarm);
        }
        break;

        case ColonyIDInfo.COLONY_FACTORY:
        {
            _ColonyObj = new ColonyFactory(this);
            RPCServer(EPacketType.PT_CL_InitDataFactory);
        }
        break;

        case ColonyIDInfo.COLONY_PROCESSING:
        {
            _ColonyObj = new ColonyProcessing(this);
            RPCServer(EPacketType.PT_CL_InitDataProcessing);
        }
        break;

        case ColonyIDInfo.COLONY_TRADE:
        {
            _ColonyObj = new ColonyTrade(this);
            RPCServer(EPacketType.PT_CL_InitDataTrade);
        }
        break;

        case ColonyIDInfo.COLONY_CHECK:
        {
            _ColonyObj = new ColonyCheck(this);
            RPCServer(EPacketType.PT_CL_InitDataCheck);
        }
        break;

        case ColonyIDInfo.COLONY_TREAT:
        {
            _ColonyObj = new ColonyTreat(this);
            RPCServer(EPacketType.PT_CL_InitDataTreat);
        }
        break;

        case ColonyIDInfo.COLONY_TENT:
        {
            _ColonyObj = new ColonyTent(this);
            RPCServer(EPacketType.PT_CL_InitDataTent);
        }
        break;

        case ColonyIDInfo.COLONY_TRAIN:
        {
            _ColonyObj = new ColonyTrain(this);
            RPCServer(EPacketType.PT_CL_InitDataTrain);
        }
        break;

        case ColonyIDInfo.COLONY_FUSION:
        {
            _ColonyObj = new ColonyPPFusion(this);
            RPCServer(EPacketType.PT_CL_InitDataPPCoal);
        }
        break;

        default:
            Debug.LogError("ColonySystem itemid is wrong id = " + ExternId);
            break;
        }

        RPCServer(EPacketType.PT_CL_InitData);
    }
Exemplo n.º 4
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);
        }
    }