Exemple #1
0
    internal static void OnCreateSceneRole(Cmd cmd)
    {
        if (!Net.CheckCmd(cmd, typeof(CreateSceneRole)))
        {
            return;
        }
        CreateSceneRole createSceneRole = cmd as CreateSceneRole;

        //
        RoleDatabase roleDatabase = RoleTable.instance[createSceneRole.modelId];

        if (roleDatabase == null)
        {
            Debug.LogError("未找到角色模型: " + createSceneRole.modelId);
        }
        //创建角色模型
        var  roleObj = ResourcesManager.instance.GetInstance(roleDatabase.modelPath);
        Role role;

        //判断是否时主角
        if (RoleMgr.instance._mainRoleThisId == createSceneRole.thisId)
        {
            //主角
            instance._mainRole = roleObj.AddComponent <MainRole>();
            role = instance._mainRole;
            SceneMgr.instance.mainCameraControl.target = role.transform;
        }
        else
        {
            role = roleObj.AddComponent <Role>();
        }
        role.Init(createSceneRole, roleDatabase);

        RoleMgr.instance.allRole[createSceneRole.thisId] = role;
    }
Exemple #2
0
    private static void EnterMap(RoleServer curRole, int mapId)
    {
        var         sceneId     = mapId;
        EnterMapCmd enterMapCmd = new EnterMapCmd()
        {
            mapId = sceneId
        };

        //生成主角
        CreateSceneRole roleCmd = new CreateSceneRole();

        roleCmd.thisId  = curRole.thisID;
        roleCmd.name    = curRole.name;
        roleCmd.modelId = curRole.modelId;
        roleCmd.pos     = new float3(0, 0, 0);
        roleCmd.faceTo  = Vector3.forward;
        roleCmd.hp      = curRole.hp;
        roleCmd.maxHp   = curRole.hp;
        roleCmd.attack  = curRole.attack;
        roleCmd.defence = curRole.defence;

        Server.instance.SendCmd(enterMapCmd);
        Server.instance.SendCmd(roleCmd);

        //生成附近的配角(暂时不考虑)
        //生成附近的Npc
        //CreateSceneRole进场景

        CreateSmoeNpc();
    }
Exemple #3
0
 public override void Init(CreateSceneCreature serverData, CreatureDatabase tableData)
 {
     base.Init(serverData, tableData);
     _serverData = serverData as CreateSceneRole;
     _tableData  = tableData as RoleDatabase;
 }