void InsertPlayerResult(int instanceId, BattleResultItem result) { GameObject obj = GameObject.Instantiate(Resources.Load <GameObject>("ResultItem")); if (Main.Ins.CombatData.GGameMode == GameMode.MENGZHU) { obj.transform.SetParent(BattleResult.transform); } else { obj.transform.SetParent(result.camp == (int)EUnitCamp.EUC_FRIEND ? MeteorResult : ButterflyResult); } obj.layer = MeteorResult.gameObject.layer; obj.transform.localRotation = Quaternion.identity; obj.transform.localScale = Vector3.one; obj.transform.localPosition = Vector3.zero; Text Idx = Control("Idx", obj).GetComponent <Text>(); Text Name = Control("Name", obj).GetComponent <Text>(); if (Main.Ins.CombatData.GGameMode == GameMode.MENGZHU) { } else { Text Camp = Control("Camp", obj).GetComponent <Text>(); Camp.text = U3D.GetCampStr((EUnitCamp)result.camp); } Text Killed = Control("Killed", obj).GetComponent <Text>(); Text Dead = Control("Dead", obj).GetComponent <Text>(); Idx.text = (result.id + 1).ToString(); Name.text = U3D.GetUnit(instanceId).Name; //Camp.text = result.camp == 1 "" Killed.text = result.killCount.ToString(); Dead.text = result.deadCount.ToString(); MeteorUnit u = U3D.GetUnit(result.id); if (u != null) { if (u.Dead) { Idx.color = Color.red; Name.color = Color.red; Killed.color = Color.red; Dead.color = Color.red; } } }
void Start() { m_itemList = new List <BattleResultItem>(); for (int i = 0; i < 11; i++) { GameObject go = (GameObject)Object.Instantiate(Resources.Load("Prefabs/UI/Items/BattleResultItem")); go.transform.SetParent(itemsRoot); go.transform.localPosition = Vector3.up * i * -40; go.transform.localScale = Vector3.one; BattleResultItem _ctrl = go.GetComponent <BattleResultItem>(); _ctrl.HideNow(); m_itemList.Add(_ctrl); } m_isShowingItems = false; showBattleResultTrigger.onClick += OnShowBattleResult; }
public void OnUnitDead(MeteorUnit unit, MeteorUnit killer = null) { //无阵营的角色,杀死人,不统计信息 if (killer != null && (killer.Camp == EUnitCamp.EUC_ENEMY || killer.Camp == EUnitCamp.EUC_FRIEND)) { //统计杀人计数 if (!battleResult.ContainsKey(killer.name)) { BattleResultItem it = new BattleResultItem(); it.camp = (int)killer.Camp; it.id = killer.InstanceId; it.deadCount = 0; it.killCount = 1; battleResult.Add(killer.name, it); } else { battleResult[killer.name].killCount += 1; } } if (unit != null && (unit.Camp == EUnitCamp.EUC_ENEMY || unit.Camp == EUnitCamp.EUC_FRIEND)) { //统计被杀次数 if (!battleResult.ContainsKey(unit.name)) { BattleResultItem it = new BattleResultItem(); it.camp = (int)unit.Camp; it.id = unit.InstanceId; it.deadCount = 1; it.killCount = 0; battleResult.Add(unit.name, it); } else { battleResult[unit.name].deadCount += 1; } } if (unit == MeteorManager.Instance.LocalPlayer) { GameBattleEx.Instance.GameOver(0); DropMng.Instance.Drop(unit); Unlock(); } else { //无论谁杀死,都要爆东西 DropMng.Instance.Drop(unit); //如果是被任意流星角色的伤害,特效,技能,等那么主角得到经验,如果是被场景环境杀死, //爆钱和东西 //检查剧情 //检查任务 //检查过场对白,是否包含角色对话 if (unit == autoTarget) { if (autoEffect != null) { autoEffect.OnPlayAbort(); autoEffect = null; } autoTarget = null; } if (unit == lockedTarget) { Unlock(); } //检测关卡通关或者失败条件。 if (Global.GLevelItem.Pass == 1)//敌方阵营全死 { int totalEnemy = U3D.GetEnemyCount(); if (totalEnemy == 0) { GameOver(1); } } else if (Global.GLevelItem.Pass == 2)//敌方指定脚本角色死亡 { if (unit.Attr.NpcTemplate == Global.GLevelItem.Param) { GameOver(1); } } } }