示例#1
0
    public void MakeAgitNPC(byte iNPCType)
    {
        AgitNPCData agitNPCData = NrTSingleton <NrBaseTableManager> .Instance.GetAgitNPCData(iNPCType.ToString());

        if (agitNPCData == null)
        {
            return;
        }
        NrCharKindInfo charKindInfoFromCode = NrTSingleton <NrCharKindInfoManager> .Instance.GetCharKindInfoFromCode(agitNPCData.strCharCode);

        if (charKindInfoFromCode == null)
        {
            return;
        }
        if (NrTSingleton <NkCharManager> .Instance.GetCharByCharKind(charKindInfoFromCode.GetCharKind()) != null)
        {
            return;
        }
        NEW_MAKECHAR_INFO nEW_MAKECHAR_INFO = new NEW_MAKECHAR_INFO();

        nEW_MAKECHAR_INFO.CharName  = TKString.StringChar(charKindInfoFromCode.GetName());
        nEW_MAKECHAR_INFO.CharPos.x = agitNPCData.fPosX;
        nEW_MAKECHAR_INFO.CharPos.y = 0f;
        nEW_MAKECHAR_INFO.CharPos.z = agitNPCData.fPosY;
        float f = agitNPCData.fDirection * 0.0174532924f;

        nEW_MAKECHAR_INFO.Direction.x  = 1f * Mathf.Sin(f);
        nEW_MAKECHAR_INFO.Direction.y  = 0f;
        nEW_MAKECHAR_INFO.Direction.z  = 1f * Mathf.Cos(f);
        nEW_MAKECHAR_INFO.CharKind     = charKindInfoFromCode.GetCharKind();
        nEW_MAKECHAR_INFO.CharKindType = 3;
        nEW_MAKECHAR_INFO.CharUnique   = NrTSingleton <NkCharManager> .Instance.GetClientNpcUnique();

        if (nEW_MAKECHAR_INFO.CharUnique == 0)
        {
        }
        int num = NrTSingleton <NkCharManager> .Instance.SetChar(nEW_MAKECHAR_INFO, false, false);

        TsLog.LogOnlyEditor(string.Concat(new object[]
        {
            "AgitNPC : ",
            agitNPCData.ui8NPCType,
            " : ",
            num
        }));
        AgitNPCInfo agitNPCInfo = new AgitNPCInfo();

        agitNPCInfo.SetCharID(num);
        agitNPCInfo.SetNPCType(agitNPCData.ui8NPCType);
        this.m_NewGuildAgit.AddNPCInfo(agitNPCInfo);
    }
示例#2
0
 public void AddNPCInfo(AgitNPCInfo NPCInfo)
 {
     this.m_NPCInfoList.Add(NPCInfo);
 }