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);
                }
            }
        }
    }