Beispiel #1
0
    void ProcessBuildingInfo(InvadeResultInfo info, out string resStr)
    {
        if (info.Id == -1)
        {
            resStr = string.Format("[960000]大门破损不堪,僵尸毫不费力就闯入了庄园![-]");
            return;
        }
        //sanctuaryPackage
        NBuildingInfo buildingInfo = sanctuaryPackage.GetBuildingInfo(info.Id);
        BuildingFunc  func         = sanctuaryPackage.GetBuildingFuncByConfigID(buildingInfo.configID);

        if (func == BuildingFunc.Defence)                       //Gate
        {
            if (info.Blood <= 0)
            {
                resStr = string.Format("[960000]僵尸攻破了大门,开始疯狂破坏![-]");
            }
            else
            {
                resStr = string.Format("[960000]僵尸开始攻击大门![-]");
            }
        }
        else            //Turret
        {
            BUILDING config = sanctuaryPackage.GetBuildingConfigDataByConfigID(buildingInfo.configID);
            resStr = string.Format("{0}击杀了{1}只僵尸", config.BldgName, info.Num);
        }
    }
Beispiel #2
0
 void ProcessSingleInfo(InvadeResultInfo info, out string resStr)
 {
     if (info.Type == 1)             //player
     {
         ProcessPlayerInfo(info, out resStr);
     }
     else                                    //building
     {
         ProcessBuildingInfo(info, out resStr);
     }
 }
Beispiel #3
0
    void ProcessPlayerInfo(InvadeResultInfo info, out string resStr)
    {
        NUserInfo userInfo = userPackage.GetUserInfo(info.Id);

        if (info.Blood <= 20)
        {
            resStr = string.Format("[960000]玩家{0}被僵尸重创,无法继续战斗![-]", userInfo.name);
        }
        else
        {
            resStr = string.Format("玩家{0}击杀了{1}只僵尸", userInfo.name, info.Num);
        }
        UpdatePlayerView(info.Id, info.Blood);
    }
Beispiel #4
0
    IEnumerator PlayInvadeAnimation(FightingInfo result)
    {
        //init player view
        for (int i = 0; i < result.UserInfosCount; i++)
        {
            UserInfo userInfo = result.GetUserInfos(i);
            PlayerIndexMap.Add(userInfo.Uid, i);
            SetPlayerView(ref playerViewList[i], userInfo);
        }
        for (int i = result.UserInfosCount; i < 4; i++)
        {
            DisablePlayerView(ref playerViewList[i]);
        }

        //play animation
        string resStr = null;

        resStr = "战斗开始";
        AddText(ref resStr, false);
        for (int i = 3; i > 0; i--)
        {
            resStr = "";
            int count = i;
            while (count-- > 0)
            {
                resStr += ".";
            }
            AddText(ref resStr, false);
            yield return(new WaitForSeconds(1.0f));
        }
        resStr = "";
        AddText(ref resStr);
        for (int i = 0; i < result.InvadeResultInfosCount; i++)
        {
            InvadeResultInfo info = result.GetInvadeResultInfos(i);
            ProcessSingleInfo(info, out resStr);
            AddText(ref resStr);
            yield return(new WaitForSeconds(1.0f));
        }
        ShowResult(result.LossInfo, out resStr);
        AddText(ref resStr);
    }