Esempio n. 1
0
    public PlayerController CreatePlayer(GameObject playerPrefab, Message_ServerCommand_CreateGameObject info)
    {
        GameObject gmj = GameObject.Instantiate(playerPrefab, new Vector3(info.transform.xPos, UnityStaticValues.StaticYPos, info.transform.zPos), Quaternion.identity);
        var        playerController = new PlayerController(gmj, info, playerData, deviceInput);

        InGameWrapper.instance.playersWrapper.SetupPlayerPositionIfPossible(playerController);
        return(playerController);
    }
 public PlayerController(GameObject playerGmj, Message_ServerCommand_CreateGameObject info, UnityPlayerData generalPlayerData, IDeviceInput deviceInput)
 {
     alive = true;
     playerScoreController  = new PlayerScoreController();
     spellCaster            = new SpellCasterController(this);
     playerAnimator         = new PlayerAnimatorController(playerGmj);
     healthController       = new PlayerHealthController(this, generalPlayerData);
     this.playerGmj         = playerGmj;
     this.generalPlayerData = generalPlayerData;
     PlayerControllerGUID   = info.GmjGUID;
     OwnerID = info.OwnerGUID;
     playerGmj.transform.position = new Vector3(info.transform.xPos, StaticVariables.GetYPos(), info.transform.zPos);
     targetPos        = playerGmj.transform.position;
     this.deviceInput = deviceInput;
 }
    /// <summary>
    /// Spawns a player and creates a playercontroller
    /// Also adds it to list of online players or sets it as the local player
    /// </summary>
    /// <param name="data"></param>
    /// <param name="isMine">Whther or not it is owned by the local player</param>
    internal void SpawnPlayer(Message_ServerCommand_CreateGameObject data, bool isMine)
    {
        var player = playerFactory.CreatePlayer(playerData.playerPrefab, data);

        idToPlayerController.Add(data.GmjGUID, player);
        ownerToPlayerController.Add(data.OwnerGUID, player);
        if (isMine)
        {
            localPlayer = player;
        }
        else
        {
            onlinePlayers.Add(player);
        }
    }