Exemplo n.º 1
0
    //更改建筑系统的 激活建筑
    private void UpdateBuildNumLab(ENUM_BUILDLAB_TYPE buildLab)
    {
        if (activebuildMem == null)     //点击buildLab得到的响应
        {
            int order = (int)buildLab - 1500;
            if (activeBuildLabCount[order] > 0)
            {
                int activeBuildLabNum = GameOperation.gameOperation.GetActiveBuildLabCode(1);
                if (activeBuildLabNum == 999)
                {
                    activeArrNow[order] = 0;
                    activeArrNow[order] = (activeArrNow[order] % activeBuildLabCount[order]);
                    GameOperation.gameOperation.SetActiveBuild(1, buildLab, activeArrNow[order]);
                }
                else
                {
                    activeArrNow[order] = activeBuildLabNum + 1;
                    activeArrNow[order] = (activeArrNow[order] % activeBuildLabCount[order]);
                    GameOperation.gameOperation.SetActiveBuild(1, buildLab, activeArrNow[order]);
                }
            }
        }
        else    //直接点击建筑而得到的响应

        {
            int code = GameOperation.gameOperation.GetBuildLabCode(1, activebuildMem);
            GameOperation.gameOperation.SetActiveBuild(1, buildLab, code);
            activebuildMem = null;
        }
    }
Exemplo n.º 2
0
 public BuildSystem(ushort countryId)
 {
     countryID       = countryId;
     activeBuild     = null;
     activeBuildDict = new Dictionary <int, List <BuildMem> >
     {
         { 0, new List <BuildMem>() },
         { 1, new List <BuildMem>() },
         { 2, new List <BuildMem>() },
         { 3, new List <BuildMem>() },
         { 4, new List <BuildMem>() }
     };
     canMakeObjectDict = new Dictionary <int, List <BaseMember> >
     {
         {
             0, new List <BaseMember>()
             {
                 new SoldierMem1100()
             }
         },
         {
             1, new List <BaseMember>()
             {
                 new SoldierMem1100(),
                 new SoldierMem1100()
             }
         },
         { 2, new List <BaseMember>() },
         { 3, new List <BaseMember>() },
         { 4, new List <BaseMember>() }
     };
 }
Exemplo n.º 3
0
    private void MakeMessageOBJ <T>(T info)
    {
        activebuildMem = info as BuildMem;

        switch (activebuildMem.selfDataValue.m_data.m_u2ID)
        {
        case 1500:
            OnClickBuildDemos();
            break;

        case 1502:
            OnClickBuildSoldier();
            break;

        case 1503:
            OnClickBuildCar();
            break;

        case 1504:
            OnClickBuildWater();
            break;

        case 1505:
            OnClickBuildAir();
            break;

        default:
            return;
        }
    }
Exemplo n.º 4
0
    public void AddMem(BaseMember mem)
    {
        uint memID = mem.selfDataValue.m_data.m_u4IDNum;

        if (IsExist(memID, mem))
        {
            BuildMem buildMem = (BuildMem)mem;

            buildMems.Add(memID, buildMem);
            ushort id = mem.selfDataValue.m_data.m_u2ID;
            switch (id)
            {
            case 1500:
                activeBuildDict[0].Add(buildMem);
                break;

            case 1502:
                activeBuildDict[1].Add(buildMem);
                break;

            case 1503:
                activeBuildDict[2].Add(buildMem);
                break;

            case 1504:
                activeBuildDict[3].Add(buildMem);
                break;

            case 1505:
                activeBuildDict[4].Add(buildMem);
                break;

            default:
                break;
            }

            if (countryID == 1)
            {
                GameOperation.gameOperation.UpdateNativeBuildLabCount();
            }
        }
    }
Exemplo n.º 5
0
    public void SubMem(uint memID)
    {
        if (IsExist(memID, null))
        {
            BuildMem buildMem = buildMems[memID];

            ushort id = buildMem.selfDataValue.m_data.m_u2ID;
            if (id >= 1500 && id < 1505 && id != 1501)
            {
                activeBuildDict[id - 1500].Remove(buildMem);
            }

            buildMems.Remove(memID);

            if (countryID == 1)
            {
                GameOperation.gameOperation.UpdateNativeBuildLabCount();
            }
        }
    }
Exemplo n.º 6
0
    public int GetBuildLabCode(BuildMem member)
    {
        switch (member.selfDataValue.m_data.m_emObjectName)
        {
        case ENUM_OBJECT_NAME.B_DEMOS:
            return(activeBuildDict[0].IndexOf(member));

        case ENUM_OBJECT_NAME.B_SOLDIER:
            return(activeBuildDict[1].IndexOf(member));

        case ENUM_OBJECT_NAME.B_ZHANZHENG:
            return(activeBuildDict[2].IndexOf(member));

        case ENUM_OBJECT_NAME.B_WATER:
            return(activeBuildDict[3].IndexOf(member));

        case ENUM_OBJECT_NAME.B_AIR:
            return(activeBuildDict[4].IndexOf(member));

        default:
            return(999);
        }
    }
Exemplo n.º 7
0
 public int GetBuildLabCode(BuildMem buildMem)
 {
     return(mBuildSystem.GetBuildLabCode(buildMem));
 }
Exemplo n.º 8
0
 public void SetActiveBuild(ENUM_BUILDLAB_TYPE _TYPE, int CodeNum)
 {
     activeBuild = activeBuildDict[(int)_TYPE - 1500][CodeNum];
     Debug.Log("激活[建筑," + activeBuild.selfDataValue.m_data.selfName + "][memID," + activeBuild.selfDataValue.m_data.m_u4IDNum + "][次序," + activeBuildDict[(int)_TYPE - 1500].IndexOf(activeBuild) + "]");
 }
Exemplo n.º 9
0
 public int GetBuildLabCode(ushort countryID, BuildMem buildMem)
 {
     return(mObjectOperation.GetBuildLabCode(countryID, buildMem));
 }
Exemplo n.º 10
0
 public int GetBuildLabCode(ushort countryID, BuildMem buildMem)
 {
     return(countryDict[countryID].GetBuildLabCode(buildMem));
 }