public int Remove(IUnit removeUnit) { var ind = ArmyList.IndexOf(removeUnit); ArmyList.Remove(removeUnit); return(ind); }
public void RemoveArmy(Army army) { if (ArmyList.Contains(army)) { ArmyList.Remove(army); manager.RemoveArmy(army); } else { throw new System.ArgumentException("Attempt to remove army not owned by player"); } }
/// <summary> /// 检查单位是否死亡 /// </summary> /// <returns></returns> private void checkArmyDead() { int index = 0; bool isdead = false; foreach (var item in OtherArmyCtrlList) { if (item.armyState.Hp <= 0) { Dispatch(AreoCode.UI, UIEvent.PROMPT_PANEL_EVENTCODE, "敌方单位死亡"); if (item.armyState.MoveType == ArmyMoveType.SKY) { //如果是飞行单位 ArmyList.Remove(item.OtherMapPintctrl.SkyArmy); Destroy(item.OtherMapPintctrl.SkyArmy); item.OtherMapPintctrl.RemoveSkyArmy(); } else if (item.armyState.MoveType == ArmyMoveType.LAND) { //如果是陆地单位 ArmyList.Remove(item.OtherMapPintctrl.LandArmy); Destroy(item.OtherMapPintctrl.LandArmy); item.OtherMapPintctrl.RemoveLandArmy(); } isdead = true; break; } index++; } if (isdead) { OtherArmyCtrlList.RemoveAt(index); } isdead = false; }