示例#1
0
 private void Update()
 {
     if (_playerPrefab == null)
     {
         _playerPrefab = FindObjectOfType <PlayerPrefab>();
     }
 }
示例#2
0
    public void Initialize(PlayerPrefab playerPrefab)
    {
        PlayerPrefab player = Instantiate(playerPrefab, transform);

        _animator = player.Animator;
        _speed    = player.Speed;
    }
    public string enemyName;                        // Name of enemy player collided with to battle

    // Prevents duplicate players
    private void Awake()
    {
        if (gameData == null)
        {
            DontDestroyOnLoad(gameObject);
            gameData    = this;
            isDeadEnemy = new Dictionary <string, bool>();
        }
        else if (gameData != this)
        {
            Destroy(gameObject);
        }
    }
    void OnEndOfParty(bool win)
    {
        PlayerDatasScript script = PlayerPrefab.GetComponent <PlayerDatasScript>();

        if (win)
        {
            VictoryMessage = script.PlayerName + ", you win ! ";
            Audio.PlayOneShot(AudioWin);
        }
        else
        {
            VictoryMessage = script.PlayerName + ", you loose ... ";
            Audio.PlayOneShot(AudioLoose);
        }

        ShowMessage  = true;
        PlayingState = false;
        Invoke("End", 5.0f);
    }
示例#5
0
        private void PlacePlayer()
        {
            List <Cell> freeCells = Cells.FindAll(h => h.IsTaken == false);

            freeCells = freeCells.OrderBy(h => _rnd.Next()).ToList();
            var cell = freeCells.ElementAt(0);

            freeCells.RemoveAt(0);
            cell.IsTaken = true;

            var unit = PlayerPrefab.Instantiate().First();

            unit.Transform.Position        = cell.Entity.Transform.Position + new Vector3(0, 0, 0);
            unit.Get <Unit>().PlayerNumber = 0;
            unit.Get <Unit>().Cell         = cell;
            unit.Get <Unit>().Initialize();
            Units.Add(unit.Get <Unit>());
            SceneSystem.SceneInstance.Scene.Entities.Add(unit);
        }
    void Update()
    {
        if (networkView.isMine && PlayingState)
        {
            PlayerDatasScript playerDataScript      = PlayerPrefab.GetComponent <PlayerDatasScript>();
            PlayerDatasScript otherPlayerDataScript = GameObject.Find("PlayerTmp(Clone)").GetComponent <PlayerDatasScript>();

            // Client
            if (playerDataScript.Health <= 0 || playerDataScript.NbCollectedFragments >= 5)
            {
                if (playerDataScript.Health <= 0)
                {
                    OnEndOfParty(false);
                }

                if (playerDataScript.NbCollectedFragments >= 5)
                {
                    OnEndOfParty(true);
                }
            }

            // Other Client
            if (otherPlayerDataScript.Health <= 0 || otherPlayerDataScript.NbCollectedFragments >= 5)
            {
                if (otherPlayerDataScript.Health <= 0)
                {
                    OnEndOfParty(true);
                }

                if (otherPlayerDataScript.NbCollectedFragments >= 5)
                {
                    OnEndOfParty(false);
                }
            }
        }
    }
 public void Choose(PlayerPrefab playerPrefab)
 {
     _gamePreset.SetPlayerPrefab(playerPrefab);
 }
 void FlyingTrisRun()
 {
     PlayerPrefab.GetComponent <FXFlyingTrianglesScript>().Fly();
 }
示例#9
0
 public void SetPlayerPrefab(PlayerPrefab playerPrefab)
 {
     _playerPrefab = playerPrefab;
 }
示例#10
0
        public void LoadMap(Entities entities, ContentManager content, bool killplayer, out Entities outEntities)
        {
            _tileTexture = content.Load <Texture2D>("Textures/s_pixel");

            _tiledMap         = content.Load <TiledMap>("Tilesets/" + MapName);
            _tiledMapRenderer = new TiledMapRenderer(_graphics.GraphicsDevice);

            //access object layer in map
            var _objectLayer     = _tiledMap.GetLayer <TiledMapObjectLayer>("Room_" + RoomNumber);
            var _entitiesFromMap = new List <GameObject>();

            if (!killplayer)
            {
                var createPlayer = new PlayerPrefab(entities,
                                                    this,
                                                    content,
                                                    HUD.PlayerCurrentPosition,
                                                    out entities);
            }


            if (_objectLayer != null)
            {
                for (int i = 0; i < _objectLayer.Objects.Length; i++)
                {
                    // create camera and min max values
                    if (_objectLayer.Objects[i].Type == "Camera")                     // set camera max and min
                    {
                        if (_objectLayer.Objects[i].Name == "cameraMin")
                        {
                            Camera.cameraMin = _objectLayer.Objects[i].Position + Camera.cameraOffset;
                            _roomMin         = _objectLayer.Objects[i].Position;
                        }
                        if (_objectLayer.Objects[i].Name == "cameraMax")
                        {
                            Camera.cameraMax = _objectLayer.Objects[i].Position - Camera.cameraOffset;
                            _roomMax         = _objectLayer.Objects[i].Position;
                        }
                    }
                    if (_objectLayer.Objects[i].Type == "Player" && killplayer)                     //add the player
                    {
                        if (_objectLayer.Objects[i].Name == "PlayerStart")
                        {
                            var createPlayer = new PlayerPrefab(entities,
                                                                this,
                                                                content,
                                                                _objectLayer.Objects[i].Position,
                                                                out entities);
                        }
                    }

                    if (_objectLayer.Objects[i].Type == "Enemy")                     //add enemies
                    {
                        switch (_objectLayer.Objects[i].Name)
                        {
                        case "Crawler":
                            var createCrawler = new CrawlerPrefab(entities, this, content, _objectLayer.Objects[i].Position, out entities);
                            break;
                        }
                    }


                    // add doors
                    if (_objectLayer.Objects[i].Type == "Door")                     //add enemies
                    {
                        _doors.Add(new TileCollisionDoor((int)_objectLayer.Objects[i].Position.X,
                                                         (int)_objectLayer.Objects[i].Position.Y,
                                                         (int)_objectLayer.Objects[i].Size.Width,
                                                         (int)_objectLayer.Objects[i].Size.Height,
                                                         _objectLayer.Objects[i].Name));
                    }

                    // add doors
                    if (_objectLayer.Objects[i].Type == "Ladder")                     //add enemies
                    {
                        _ladders.Add(new TileCollisionLadder((int)_objectLayer.Objects[i].Position.X,
                                                             (int)_objectLayer.Objects[i].Position.Y,
                                                             (int)_objectLayer.Objects[i].Size.Width,
                                                             (int)_objectLayer.Objects[i].Size.Height));
                    }
                }
            }
            outEntities = entities;

            //access walls in map
            var tiledMapWallsLayer = _tiledMap.GetLayer <TiledMapTileLayer>("Wall");

            for (int i = 0; i < _tiledMap.Width; i++)
            {
                for (int j = 0; j < _tiledMap.Height; j++)
                {
                    if ((i >= (_roomMin.X - 2 * tiledMapWallsLayer.TileWidth) / tiledMapWallsLayer.TileWidth &&
                         j >= (_roomMin.Y - 2 * tiledMapWallsLayer.TileHeight) / tiledMapWallsLayer.TileHeight) &&
                        (i <= (_roomMax.X + 2 * tiledMapWallsLayer.TileWidth) / tiledMapWallsLayer.TileWidth &&
                         j <= (_roomMax.Y + 2 * tiledMapWallsLayer.TileHeight) / tiledMapWallsLayer.TileHeight))
                    {
                        if (tiledMapWallsLayer.TryGetTile(i, j, out TiledMapTile? tile))
                        {
                            if (tile.Value.GlobalIdentifier == 1)                             // make walls
                            {
                                _tileCollisions.Add(new TileCollision(i, j));
                            }
                        }
                    }
                }
            }
        }
示例#11
0
 public void SetPlayerObject(PlayerPrefab playerObject)
 {
     this._playerObject = playerObject;
 }
示例#12
0
 // Start is called before the first frame update
 void Start()
 {
     Prefab = GameObject.Find("PlayerPrefabfab");
     script = Prefab.GetComponent <PlayerPrefab>();
 }