public Cell Cell(CellDescription description) { var prefabs = CellPrefabs.Where(c => c.GetComponent<Cell>().Type == description.Type).ToArray(); /* if (type == CellTypes.Block) { prefab = prefabs[(Math.Abs(x) + Math.Abs(y))%2].CellPrefab; } */ var prefab = prefabs.First(); var cellGO = Instantiate(prefab) as GameObject; var cell = cellGO.GetComponent<Cell>(); cell.Init(description); if (cell.CreationType == CreationType.Place) { GameObject place = NGUITools.AddChild(cellGO, PlacePrefab); place.transform.localPosition = Vector3.zero; cell.PlaceSpite = place; cell.IsPlace = true; } if (!Gamefield) { Gamefield = FindObjectOfType<Gamefield>(); } cellGO.transform.parent = Gamefield.transform; return cell; }
public void Init(Gamefield gamefield) { Gamefield = gamefield; ManaManagerSystem = Gamefield.ManaManagerSystem; Reset(); OnDestroy(); OnInit(); InvokeTurnsChanged(); }
private void OnGameStarted(Gamefield field) { _targets.Clear(); _targets.Add(TotalManaTarget); if (field.GameMode is TargetScoreGameMode) { _targets.Add(GoalTarget); } }
public void Awake() { if (Instance) { Debug.Log("It's should be only one center camera on field"); Destroy(this); return; } Instance = this; previousNormalizedSize = normalizedSize; Gamefield = FindObjectOfType<Gamefield>(); }