//更改建筑系统的 激活建筑 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; } }
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>() } }; }
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; } }
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(); } } }
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(); } } }
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); } }
public int GetBuildLabCode(BuildMem buildMem) { return(mBuildSystem.GetBuildLabCode(buildMem)); }
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) + "]"); }
public int GetBuildLabCode(ushort countryID, BuildMem buildMem) { return(mObjectOperation.GetBuildLabCode(countryID, buildMem)); }
public int GetBuildLabCode(ushort countryID, BuildMem buildMem) { return(countryDict[countryID].GetBuildLabCode(buildMem)); }