コード例 #1
0
ファイル: DropArea.cs プロジェクト: dhmhtrhsd/Stellar
        public void OnDrop()
        {
            if (card.value == null)
            {
                return;
            }

            Card c = card.value.viz.card;

            if (c.cardType is CreatureCard)
            {
                bool canUse = Settings.gameManager.currentPlayer.CanUseCard(c);

                if (canUse)
                {
                    Settings.DropCreatureCard(card.value.transform, areaGrid.value.transform, card.value);
                    card.value.currentLogic = cardDownLogic;
                    PlayerHolder currentPlayer = Settings.gameManager.currentPlayer;
                    currentPlayer.cardsPlayedThisTurn++;
                    currentPlayer.cardsPlayedThisLevel++;
                    if (currentPlayer.cardsPlayedThisLevel == 2)
                    {
                        currentPlayer.statsUI.LevelUp();
                    }

                    Sound.PlaySound("greeting_1");
                }
                card.value.gameObject.SetActive(true);
            }
        }
コード例 #2
0
ファイル: GameManager.cs プロジェクト: wiki111/KarciankaUnity
    private void Update()
    {
        if (switchPlayer)
        {
            switchPlayer = false;
            playerOneHolder.LoadPlayer(all_players[0], playerStatsArray[0]);
            playerTwoHolder.LoadPlayer(all_players[1], playerStatsArray[1]);
        }

        bool isComplete = turns[turnIndex].Execute();

        if (isComplete)
        {
            turnIndex++;
            if (turnIndex > turns.Length - 1)
            {
                turnIndex = 0;
            }

            currentPlayer = turns[turnIndex].player;
            //The current player has changed here (?)
            turns[turnIndex].OnTurnStart();
            turnText.value = turns[turnIndex].player.username;
            onTurnChanged.Raise();
        }
        if (currentState != null)
        {
            currentState.Tick(Time.deltaTime);
        }
    }
コード例 #3
0
ファイル: SelectCardToAttack.cs プロジェクト: quanghoi2/Cards
        public override void Excute(float dt)
        {
            if (Input.GetMouseButtonDown(0))
            {
                List <RaycastResult> results = Settings.GetUIObjs();
                foreach (RaycastResult r in results)
                {
                    CardInstance inst = r.gameObject.GetComponentInParent <CardInstance>();
                    PlayerHolder p    = Settings.gameManager.currentPlayer;

                    if (!p.cardsDown.Contains(inst))
                    {
                        return;
                    }


                    if (inst.CanAttack() && !p.attackingCards.Contains(inst))
                    {
                        //Debug.Log("Add Card Attack:" + inst.name);

                        p.attackingCards.Add(inst);
                        p.currentHolder.SetCardOnBattleLine(inst);
                    }
                }
            }
        }
コード例 #4
0
        public bool Join(Session session, string nickname, PlayerMode mode)
        {
            if (session.WorldID != null)
            {
                return(false);
            }
            session.WorldID  = ID;
            session.Nickname = nickname;
            sessions.Add(session);

            var sessionID = session.ID;

            if (mode == PlayerMode.Player)
            {
                var p = new Player(sessionID, session);
                playerTable[sessionID] = PlayerHolder.FromPlayer(p);
                return(true);
            }
            else if (mode == PlayerMode.Observer)
            {
                var o = new Observer(sessionID, session);
                playerTable[sessionID] = PlayerHolder.FromObserver(o);
                return(true);
            }
            // else...
            return(true);
        }
コード例 #5
0
 // Start is called before the first frame update
 void Start()
 {
     // Get Rigidbody2D of gameObject
     rb2D = GetComponent <Rigidbody2D>();
     my_playerHolder_script = PlayerHolderObject.GetComponent <PlayerHolder>();
     boingSound             = gameObject.GetComponent <AudioSource>();
 }
コード例 #6
0
        public void RPC_CleanCardData(int playerPhotonId, int cardInstId)
        {
            NetworkPrint p          = multiplayManager.GetPlayer(playerPhotonId);
            PlayerHolder thisPlayer = p.ThisPlayer;
            Card         card       = p.ThisPlayer.CardManager.SearchCard(cardInstId);
            string       cardOwner  = thisPlayer.PlayerProfile.UniqueId;

            //After Refactoring, Try to reduce below codes
            if (thisPlayer.CardManager.CheckCardContainer(Player.CardContainer.Field, card))
            {
                thisPlayer.CardManager.fieldCards.Remove(card.GetCardData.UniqueId);
                Debug.LogFormat("CardGraveyard, {0}'s {1} is removed from fieldCard", cardOwner, card.GetCardData.Name);
            }
            if (thisPlayer.CardManager.CheckCardContainer(Player.CardContainer.Hand, card))
            {
                thisPlayer.CardManager.handCards.Remove(card.GetCardData.UniqueId);
                Debug.LogFormat("CardGraveyard, {0}'s {1} is removed from handCards", cardOwner, card.GetCardData.Name);
            }
            if (thisPlayer.CardManager.CheckCardContainer(Player.CardContainer.Attack, card))
            {
                thisPlayer.CardManager.attackingCards.Remove(card.GetCardData.UniqueId);
                Debug.LogFormat("CardGraveyard, {0}'s {1} is removed from attackingCards", cardOwner, card.GetCardData.Name);
            }
            card.PhysicalCondition.GetOriginFieldLocation().GetComponentInParent <Area>().SetIsPlaced(false);
            card.CardCondition.IsDead = true;
            card.PhysicalCondition.gameObject.SetActive(false);
            card.PhysicalCondition.gameObject.GetComponentInChildren <PhysicalAttribute>().enabled = false;
            //Debug.LogWarningFormat("PutCardToGrave: {0} is deleted from all lists",c.Data.Name);
        }
コード例 #7
0
        public override View GetView(int position, View convertView, ViewGroup parent)
        {
            View         row    = convertView;
            PlayerHolder holder = null;

            if (row == null)
            {
                LayoutInflater inflater = ((Android.App.Activity)_context).LayoutInflater;
                row = inflater.Inflate(_textViewResourceId, parent, false);

                holder = new PlayerHolder(row);
                row.SetTag(Resource.Id.TAG_ID, holder);
            }
            else
            {
                holder = (PlayerHolder)row.GetTag(Resource.Id.TAG_ID);
            }

            var player = _players[position];

            holder.Name.Text = player.Name;
            holder.Team.Text = player.Team;
            Picasso.With(_context).Load(player.ImageUrl).Into(holder.ImageUrl);

            return(row);
        }
コード例 #8
0
    public static void LoadAssets()
    {
        PlayerHolder.Initialize();
        EnemyHolder.Initialize();
        WeaponHolder.Initialize();
        AmmunitionDropHolder.Initialize();
        ProjectileHolder.Initialize();
        SoundHolder.Initialize();
        VisualEffectHolder.Initialize();
        AnimationHolder.Initialize();
        MapHolder.Initialize();

        OnLoadingStatus += PlayerHolder.CurrentLoadingPercentage;
        OnLoadingStatus += EnemyHolder.CurrentLoadingPercentage;
        OnLoadingStatus += WeaponHolder.CurrentLoadingPercentage;
        OnLoadingStatus += ProjectileHolder.CurrentLoadingPercentage;
        OnLoadingStatus += SoundHolder.CurrentLoadingPercentage;
        OnLoadingStatus += VisualEffectHolder.CurrentLoadingPercentage;
        OnLoadingStatus += AnimationHolder.CurrentLoadingPercentage;
        OnLoadingStatus += AmmunitionDropHolder.CurrentLoadingPercentage;
        OnLoadingStatus += MapHolder.CurrentLoadingPercentage;

        PlayerHolder.LoadAssets();
        EnemyHolder.LoadAssets();
        WeaponHolder.LoadAssets();
        ProjectileHolder.LoadAssets();
        SoundHolder.LoadAssets();
        VisualEffectHolder.LoadAssets();
        AnimationHolder.LoadAssets();
        AmmunitionDropHolder.LoadAssets();
        MapHolder.LoadAssets();
    }
コード例 #9
0
ファイル: GridCharacter.cs プロジェクト: ktj007/BtbRPG
 public void OnDeHighlight(PlayerHolder player)
 {
     if (!isSelected)
     {
         highlighter.SetActive(false);
     }
 }
コード例 #10
0
ファイル: RagDollController.cs プロジェクト: Saarg/AutoTober
    // Update is called once per frame
    void Update()
    {
        if (_collider.enabled == _ragdollMode)
        {
            PlayerHolder ph = GetComponentInParent <PlayerHolder>();
            if (_ragdollMode && ph != null)
            {
                ph.Ui.AddScore(100);
            }

            _animator.enabled = !_ragdollMode;
            _collider.enabled = !_ragdollMode;

            foreach (Rigidbody r in _ragdollRigibodies)
            {
                r.isKinematic            = !_ragdollMode;
                r.collisionDetectionMode = _ragdollMode ? CollisionDetectionMode.ContinuousDynamic : CollisionDetectionMode.Discrete;
            }

            foreach (Collider c in _ragdollColliders)
            {
                c.enabled = _ragdollMode;
            }

            foreach (MonoBehaviour b in _scriptsToDisable)
            {
                b.enabled = !_ragdollMode;
            }
        }
    }
コード例 #11
0
        private void RPC_PlayerPickCard(int cardUniqueId, int photonId)
        {
            PlayerHolder currentPlayer = GetPlayer(photonId).ThisPlayer;
            Card         card          = currentPlayer.CardManager.SearchCard(cardUniqueId);

            if (card == null)
            {
                Debug.LogError("CardISNULL");
                return;
            }
            Debug.Log("AddCard");
            GameObject     go     = Instantiate(MainData.CardPrefab) as GameObject;
            CardAppearance visual = go.GetComponent <CardAppearance>();

            visual.LoadCard(card, go);
            card.Init(go);
            card.User = currentPlayer;
            MoveCardInstance.SetParentForCard(go.transform, currentPlayer.CardTransform.HandGrid.value);
            if (currentPlayer.CardManager.handCards.Count <= 7)
            {
                currentPlayer.CardManager.handCards.Add(card.GetCardData.UniqueId);
            }
            else
            {
                Setting.RegisterLog("Can't add card. Next card is deleted", Color.black);
            }
        }
コード例 #12
0
 // Use this fplayerholderor initialization
 void Start()
 {
     GameObject playerholder = GameObject.Find("PlayerHolder");
     //playerholder.transform.position = transform.position;
     plh = playerholder.GetComponent<PlayerHolder>();
     plh.resetPositions();
 }
コード例 #13
0
ファイル: GameManager.cs プロジェクト: JSONJuggler/unicorns
        public void LoadPlayerOnActive(PlayerHolder p)
        {
            PlayerHolder prevPlayer = playerOneHolder.playerHolder;

            LoadPlayerOnHolder(prevPlayer, otherPlayerHolder);
            LoadPlayerOnHolder(p, playerOneHolder);
        }
コード例 #14
0
    public override bool IsComplete()
    {
        PlayerHolder playerHolder      = Settings.gameManager.currentPlayer;
        PlayerHolder enemyPlayerHolder = Settings.gameManager.GetEnemyOf(playerHolder);

        if (playerHolder.attackingCards.Count == 0)
        {
            return(true);
        }

        for (int i = 0; i < playerHolder.attackingCards.Count; i++)
        {
            CardInstance   cardInst       = playerHolder.attackingCards[i];
            Card           card           = cardInst.viz.card;
            CardProperties attackProperty = card.GetProperty(attackElement);
            if (attackProperty == null)
            {
                Debug.LogError("You are attacking with a card that cant attack");
                continue;
            }

            playerHolder.DropCard(cardInst, false);
            playerHolder.currentHolders.SetCardDown(cardInst);
            cardInst.SetFlatfooted(true);
            enemyPlayerHolder.DoDamage(attackProperty.intVal);
        }

        playerHolder.attackingCards.Clear();

        return(true);
    }
コード例 #15
0
    public void LoadPlayer(PlayerHolder player, PlayerStatsUI statsUI)
    {
        foreach (CardInstance c in player.cardsDownMelee)
        {
            Settings.SetParentForCard(c.cardViz.gameObject.transform, downGridMelee.value.transform);
        }

        foreach (CardInstance c in player.cardsDownRanged)
        {
            Settings.SetParentForCard(c.cardViz.gameObject.transform, downGridRanged.value.transform);
        }

        foreach (CardInstance c in player.handCards)
        {
            Settings.SetParentForCard(c.cardViz.gameObject.transform, handGrid.value.transform);
        }

        foreach (ResourceHolder c in player.resourcesList)
        {
            Settings.SetParentForCard(c.cardObject.gameObject.transform, resourcesGrid.value.transform);
        }

        player.playerStatsUI = statsUI;
        player.LoadPlayerOnStatsUI();
    }
コード例 #16
0
    public override void Execute(float d)
    {
        if (Input.GetMouseButtonDown(0))
        {
            List <RaycastResult> results = Settings.GetUIObjects();

            foreach (RaycastResult result in results)
            {
                CardInstance cardInst = result.gameObject.GetComponentInParent <CardInstance>();
                PlayerHolder player   = Settings.gameManager.currentPlayer;
                if (player.cardsOnTable.Contains(cardInst))
                {
                    if (cardInst.CanAttack())
                    {
                        player.attackingCards.Add(cardInst);
                        player.currentHolders.SetCardOnBattleLine(cardInst);
                    }
                }
                else
                {
                    return;
                }
            }
        }
    }
コード例 #17
0
    public override void UpdatePhx()
    {
        bool flag = base.m_PhxStaticRequests > 0 || base.m_StaticPhx;

        if (!flag)
        {
            PlayerHolder x = null;
            this.m_TempList.Clear();
            if (base.gameObject.transform.parent != null)
            {
                base.gameObject.transform.parent.GetComponents <PlayerHolder>(this.m_TempList);
            }
            if (this.m_TempList.Count > 0)
            {
                x = this.m_TempList[0];
            }
            flag = (CraftingManager.Get().ContainsItem(this) || (base.gameObject.transform.parent != null && (x != null || base.gameObject.transform.parent.CompareTag(this.m_AttachTag))));
        }
        if (this.m_BoxCollider)
        {
            this.m_BoxCollider.isTrigger = flag;
            this.m_BoxCollider.enabled   = (base.m_InInventory || base.m_OnCraftingTable || !flag);
        }
        if (this.m_Rigidbody)
        {
            this.m_Rigidbody.isKinematic = flag;
        }
    }
コード例 #18
0
        private void RPC_SetCardDead(int cardInstId, int playerPhotonId)
        {
            NetworkPrint p         = multiplayManager.GetPlayer(playerPhotonId);
            PlayerHolder cardOwner = p.ThisPlayer;
            Card         card      = p.ThisPlayer.CardManager.SearchCard(cardInstId);

            if (card == null)
            {
                Debug.LogError("COULDN'T FIND CARDINSTANCE");
                return;
            }
            cardOwner.CardManager.deadCards.Add(card.GetCardData.UniqueId);          //dead card should be added here.
            for (int i = 0; i < 2; i++)
            {
                if (card.User == Setting.gameController.GetPlayer(i))
                {
                    cardOwner = Setting.gameController.GetPlayer(i);
                    Debug.LogFormat("This dead card's owner is " + cardOwner);
                }
            }
            if (cardOwner == null)
            {
                Debug.LogError("CARD OWNER IS NULL");
                return;
            }
            //Should check owner to move card to graveyard
            photonView.RPC("RPC_CleanCardData", PhotonTargets.All, card.GetCardData.UniqueId, cardOwner.InGameData.PhotonId);
        }
コード例 #19
0
ファイル: Game.cs プロジェクト: Hackcreeper/LD44-GameOfFields
    private void Awake()
    {
        Instance = this;

        var names  = NameEngine.GetNames(4);
        var amount = PlayerHolder.GetInstance().GetPlayerAmount();

        _players.AddRange(new[]
        {
            SpawnPlayer(names[0], 1),
            SpawnPlayer(names[1], 2, amount < 2),
            SpawnPlayer(names[2], 3, amount < 3),
            SpawnPlayer(names[3], 4, amount < 4)
        });

        var position = startField.transform.position;

        _players[0].transform.position = position + startField.GetOffset(1);
        _players[1].transform.position = position + startField.GetOffset(2);
        _players[2].transform.position = position + startField.GetOffset(3);
        _players[3].transform.position = position + startField.GetOffset(4);

        RenderInfoPanel();

        StartTurn();
    }
コード例 #20
0
ファイル: OnSelectCard.cs プロジェクト: andresimon/SA-CCG
        public override void Execute(float d)
        {
            if (Input.GetMouseButtonDown(0))
            {
                List <RaycastResult> results = Settings.GetUIObjs();

                foreach (RaycastResult r in results)
                {
                    CardInstance c = r.gameObject.GetComponentInParent <CardInstance>();
                    if (c != null)
                    {
                        GameManager  gm    = Settings.gameManager;
                        PlayerHolder enemy = gm.GetEnemyOf(gm.currentPlayer);

                        if (c.owner != enemy)
                        {
                            if (gm.currentPlayer.downCards.Contains(c))
                            {
                                if (!c.isFlatfooted)
                                {
                                    Debug.Log(c.name);
                                    currentCard.value = c;
                                    gm.SetState(holdingCard);
                                    onCurrentCardSelected.Raise();
                                }
                            }
                        }

                        return;
                    }
                }
            }
        }
コード例 #21
0
ファイル: Game.cs プロジェクト: Hackcreeper/LD44-GameOfFields
    public void Win(Player player)
    {
        PlayerHolder.GetInstance().ToggleToWin();

        _won = true;

        _players.ForEach(p => { p.Stop(); });

        playerIntroduction.gameObject.SetActive(false);
        remainingFields.gameObject.SetActive(false);
        zoomPanel.SetActive(false);
        walkInfo.SetActive(false);
        heartImages.ToList().ForEach(image => image.gameObject.SetActive(false));

        winInfo.text = winInfo.text
                       .Replace("{{prefix}}", player.IsBot() ? "Bot" : "Player")
                       .Replace("{{id}}", player.GetPublicId().ToString());

        winInfo.gameObject.SetActive(true);

        followingCamera.SetTarget(player.transform);
        followingCamera.RotateAround();

        var firework = Resources.Load <GameObject>("Firework");

        foreach (var spawner in fireworkSpawner)
        {
            var instance = Instantiate(firework);
            instance.transform.position = spawner.position;
        }

        pressSpace.SetActive(false);
        infoRestart.SetActive(true);
    }
コード例 #22
0
 void PlayerPressAction(PlayerHolder player)
 {
     if (Vector3.Distance(transform.position, player.transform.position) < pickupRadius && player.GetPickupBox != this)
     {
         Pickup(player);
     }
 }
コード例 #23
0
    private void FixedUpdate()
    {
        if (switchPlayer)
        {
            switchPlayer = false;

            playerOneHolder.LoadPlayer(allPlayers[1], playerStats[0]);
            otherPlayersHolder.LoadPlayer(allPlayers[0], playerStats[1]);
        }

        bool isComplete = turns[turnIndex].Execute();

        if (isComplete)
        {
            turnIndex++;

            if (turnIndex > turns.Length - 1)
            {
                turnIndex = 0;
            }


            // Current player changes here
            currentPlayer = turns[turnIndex].player;
            turns[turnIndex].OnTurnStart();
            turnText.value = turns[turnIndex].player.username;
            onTurnChanged.Raise();
        }

        if (currentState)
        {
            currentState.Tick(Time.deltaTime);
        }
    }
コード例 #24
0
    //wait for the scene to be loaded, then setup the game object references and such
    private void OnSceneLoaded(Scene scene, LoadSceneMode mode)
    {
        //grab the scene name and check if it is the main game scene
        string sceneName = scene.name;

        if (sceneName == "CoolScene")
        {
            //grab all the players
            players = new Player[4];
            PlayerHolder playerHolder = GameObject.FindGameObjectWithTag("PlayerHolder").GetComponent <PlayerHolder>();
            players[0] = playerHolder.players[0];
            players[1] = playerHolder.players[1];
            players[2] = playerHolder.players[2];
            players[3] = playerHolder.players[3];

            //grab all the spawn points
            spawnPoints = GameObject.FindGameObjectsWithTag("SpawnPoint");

            //reset the scores
            for (int i = 0; i < playerScores.Length; i++)
            {
                playerScores[i] = 0;
            }

            //reset the bools
            hasFirstMoonCome  = false;
            hasSecondMoonCome = false;
        }

        if (Racetrack.Instance != null)
        {
            Racetrack.Instance.Dooms_day_thing();
        }
    }
コード例 #25
0
    protected override bool OnEndState()
    {
        isInit    = false;
        player    = null;
        ForceQuit = false;

        return(true);
    }
コード例 #26
0
ファイル: GameManager.cs プロジェクト: JSONJuggler/unicorns
 public void ChangeCurrentTurn(int photonId)
 {
     turnIndex     = GetPlayerTurnIndex(photonId);
     currentPlayer = turns[turnIndex].player;
     turns[turnIndex].OnTurnStart();
     turnText.value = turns[turnIndex].player.username;
     onTurnChanged.Raise();
 }
コード例 #27
0
 public void OnTriggerEnter(Collider other)
 {
     if (other.tag == "Player")
     {
         PlayerHolder player = GameObject.FindWithTag("Player").GetComponent <PlayerHolder>();
         player.boostCurrent = player.boostMax;
         die();
     }
 }
コード例 #28
0
        private void InitForTest()
        {
            PlayerHolder currentPlayer = Setting.gameController.LocalPlayer;

            Setting.gameController.CurrentPhase = controlPhase;
            currentPlayer.InGameData.Init(Setting.gameController.LocalPlayer);
            currentPlayer.InGameData.ManaManager.MaxMana     = 10;
            currentPlayer.InGameData.ManaManager.CurrentMana = 10;
        }
コード例 #29
0
 public override void Execute(PlayerHolder player)
 {
     if (player.currentMaxResources < 10)
     {
         player.currentMaxResources++;
         player.currentResources = player.currentMaxResources;
         player.LoadPlayerOnStatsUI();
     }
 }
コード例 #30
0
 public override void Execute(PlayerHolder playerHolder)
 {
     foreach (CardInstance card in playerHolder.cardsOnTable)
     {
         if (card.isFlatfooted)
         {
             card.SetFlatfooted(false);
         }
     }
 }
コード例 #31
0
ファイル: EnemyHolder.cs プロジェクト: Consalv0/CardGame
    public void Attack(PlayerHolder player)
    {
        int dmg = (int)Random.Range(0, (player.stats.maxHealth * 0.4F) + 0.1F);

        player.stats.DoDamage(new DamageInfo(this, player, dmg));

        player.hand.DiscardHand();
        player.AddHand();
        player.mana = player.maxMana;
    }
コード例 #32
0
    void Awake()
    {
        if ((playerHolder) && (playerHolder.GetInstanceID() != GetInstanceID()))
        {
            DestroyImmediate(gameObject);
        }
        else
        {
            playerHolder = this;

            DontDestroyOnLoad(gameObject);
        }
    }
コード例 #33
0
	void Start() {

		// Initializing rectangles
		addPlayer = new Rect (460, 500, 150, 50);
		nameRect = new Rect (460, 560, 150, 50);
		continueRect = new Rect (460, 620, 150, 50);

		redSlide = new Rect (620, 500, 150, 10);
		blueSlide = new Rect (620, 520, 150, 10);
		greenSlide = new Rect (620, 540, 150, 10);

		playerName = "Player Name";
		red = 255;
		green = 255;
		blue = 255;

		playerHolder = (PlayerHolder)playerHolderObject.GetComponent<PlayerHolder> ();
	}
コード例 #34
0
	void Start() {

		// Setting up stuff

		terrainHolderObj = GameObject.Find ("WorldTerrainHolder");
		terrainHolder = (World_TerrainHolder)terrainHolderObj.GetComponent<World_TerrainHolder>();

		playerHolder = GameObject.Find ("PlayerHolder");
		ph = (PlayerHolder)playerHolder.GetComponent<PlayerHolder> ();

		terrainChunkMap = terrainHolder.getChunkTerrain ();
		terrainCostMap = terrainHolder.getTerrainCost ();
		reloadTerrain ();
		wcs.initialize (terrainChunkMap, tilesToUse, terrainHolder.getChunkSize());
		chunkSize = terrainHolder.getChunkSize ();

		isChunkLoad = new bool[terrainChunkMap.GetLength (0), terrainChunkMap.GetLength (1)];

		// Calculating XBound

		xBound = chunkSize * terrainChunkMap.GetLength (0) * tileSize;
		xBound = xBound / 2.0f;
			
		yBound = chunkSize * terrainChunkMap.GetLength (1) * tileSize;
		yBound = yBound/2.0f;

		Debug.Log ("Calculated XBound to :" + xBound + ", YBound to :" + yBound);

		// Generating cornucopia chunks...

		short centerChunk = (short)(terrainChunkMap.GetLength (0) / 2);

		for (int i = centerChunk-2; i < centerChunk+3; i++) {
			for (int j = centerChunk-2; j < centerChunk+3; j++) {

				short[,] tmpChunk = wcs.spawnChunk ((short)i, (short)j);
				terrainHolder.copyInChunk (i,j,tmpChunk);

			}
		}

		// Spawning in cornucopia chunks

		for (int i = centerChunk-2; i < centerChunk+3; i++) {
			for (int j = centerChunk-2; j < centerChunk+3; j++) {

				short[,] tmpChunk = terrainHolder.copyOutChunk(i, j);
				loadInChunk (tmpChunk, i, j);
			}
		}

		reloadTerrain ();







		// Instantiating in players

		int numPlayers = ph.getNumPlayers ();
		float rads = 360 / numPlayers;
		rads = (rads * 3.14159f / 180.0f);

		for (int i = 0; i < numPlayers; i++) {

			float currentAngle = rads * i;

			//Debug.Log ("Angle : " + (180.0f*currentAngle/3.14159f));

			float xCord = (Mathf.Cos (currentAngle));
			float yCord = (Mathf.Sin (currentAngle));

			//Debug.Log ("X:" + xCord + ", Y:" + yCord);

			xCord *= (8.0f * 0.4f);
			yCord *= (8.0f * 0.4f);

			//Debug.Log ("X:" + xCord + ", Y:" + yCord);

			int xRemaind = (int)(xCord / 0.4f);
			int yRemaind = (int)(yCord / 0.4f);

			xCord = xRemaind * 0.4f;
			yCord = yRemaind * 0.4f;

			GameObject player = ph.getPlayer (i);
			player.SetActive (true);

			Debug.Log ("Putting player " + i + " at " + xCord + "," + yCord);
			player.transform.Translate (xCord,yCord,0);
		}

		currentPlayer = ph.getPlayer (0);
		pi = (PlayerInfo)currentPlayer.GetComponent<PlayerInfo> ();
		pi.isCurrentPlayer = true;

		UpdateCamera ();
	}