public bool switchChampionsInstances(GameObject From, GameObject To) { bool foundFrom = false; bool foundTo = false; ChampionSpawner FromScript = From.GetComponent <ChampionSpawner>(); ChampionSpawner ToScript = To.GetComponent <ChampionSpawner>(); foundFrom = playerData.GetPlacementData().findBySpawnerName(From.name); if (foundFrom) { // SpawnFrom contient un champion if (!playerData.canMoveBasedOnLevel(FromScript.FightingSpawner, ToScript.FightingSpawner, ToScript.spawnPointIsActive())) { return(false); } // Le player a placé autant de champions sur le terrain qu'autorisés par son level foundTo = playerData.GetPlacementData().findBySpawnerName(To.name); if (!foundTo) { // SpawnFrom contient un champion mais pas SpawnTo FromScript.desactivateSpawnPoint(); ToScript.activateSpawnPoint(); playerData.GetPlacementData().setSpawner(From.name, To.name, To.transform.position, ToScript.FightingSpawner); } else { // SpawnFrom Et SpawnTo contiennent un champion // Check if found // From and To : Switch the SpawnNames // From and !To : Change the SpawnName // !From : Error if (From.name == To.name) { return(false); } playerData.GetPlacementData().switchSpawners(From, To); } return(true); } else { Debug.Log("SpawnFrom ne contient pas de champion"); } return(false); }