public void Init(LogicModules lm, bool isSubmodule = false) { _isSubmodule = isSubmodule; _module = lm; ModuleName.text = lm.ModuleName; ModuleImg.sprite = DefaultResources.GetModuleSprite(lm); GetComponent <Button>().onClick.AddListener(EditModule); }
private void UpdateSnakeView() { foreach (Transform t in SnakeView) { t.gameObject.SetActive(false); } if (CurrentSnake != null) { SnakeView.transform.GetChild(0).gameObject.SetActive(true); SnakeView.transform.GetChild(0).GetComponent <Image>().sprite = CurrentSnake.Skin.Head; for (int i = 1; i < CurrentSnake.ModulesSlots + 2; i++) { SnakeView.transform.GetChild(i).gameObject.SetActive(true); if (i == CurrentSnake.ModulesSlots + 1) { SnakeView.transform.GetChild(i).localRotation = Quaternion.Euler(0, 0, _tailRotations[i - 4]); SnakeView.transform.GetChild(i).GetComponent <Image>().sprite = CurrentSnake.Skin.Tail; SnakeView.transform.GetChild(i).GetChild(0).gameObject.SetActive(false); } else { if (i > 3) { SnakeView.transform.GetChild(i).localRotation = Quaternion.Euler(0, 0, _bodyRotations[i - 4]); } if (i % 4 == 1 || i % 4 == 2) { SnakeView.transform.GetChild(i).GetComponent <Image>().sprite = CurrentSnake.Skin.Body; } else { SnakeView.transform.GetChild(i).GetComponent <Image>().sprite = CurrentSnake.Skin.Angle; } SnakeView.transform.GetChild(i).GetChild(0).gameObject.SetActive(true); } } } int j = 0; foreach (SnakeModuleSlot s in SnakeView.GetComponentsInChildren <SnakeModuleSlot>()) { LogicModules lm = null; if (CurrentSnake != null && j < CurrentSnake.ModulesSlots) { lm = CurrentSnake.Modules[j]; } s.SetSlot(lm); j++; } UpdateModules(); }
public void ElementClicked(LogicModules editingModule, Vector2 position, LogicElement currentElement) { if (!_elementCounter.SelectedElement || Player.Instance.GetElementCount(_elementCounter.SelectedElement) == 0) { return; } if (currentElement.ElementType != LogicElement.LogicElementType.MyHead) { if (_elementCounter.SelectedElement.ElementType == LogicElement.LogicElementType.MyHead) { //click on any with head RemovePreviousHead(); } } else { if (_elementCounter.SelectedElement.ElementType == LogicElement.LogicElementType.MyHead) { //click with head on head return; } } LogicElement newElement; if (_elementCounter.SelectedElement.ElementType == currentElement.ElementType) { newElement = DefaultResources.GetElementByEnum(LogicElement.LogicElementType.Any); Player.Instance.AddElements(currentElement, 1); } else { if (Player.Instance.GetElementCount(_elementCounter.SelectedElement) > 0) { Player.Instance.AddElements(_elementCounter.SelectedElement, -1); Player.Instance.AddElements(currentElement, 1); newElement = _elementCounter.SelectedElement; } else { newElement = currentElement; Debug.LogWarning("Not enough elements!"); } } ((SimpleModule)editingModule).SetElement(position, newElement.ElementType); if (currentElement.ElementType == LogicElement.LogicElementType.MyHead) { PlaceHeadNear(position); } }
public void Init(LogicModules module, bool flag) { if (flag) { GetComponent <Image>().color = Color.green; } else { GetComponent <Image>().color = Color.red; } Init(module); }
public void EditModule(LogicModules module) { if (module == EditingModule) { module = null; } EditingModule = module; ModuleName.interactable = module != null; if (module == null) { ModuleName.text = ""; } if (module != null) { ModuleName.text = module.ModuleName; } _combinationPanel.Hide(); _chipPanel.Hide(); if (module != null) { if (module.ModuleType == ModuleHolder.ModuleType.Simple) { _submoduleCounter.gameObject.SetActive(false); _chipPanel.Init((SimpleModule)module); Submodules.gameObject.SetActive(false); Elements.gameObject.SetActive(true); _elementCounter.gameObject.SetActive(true); Elements.UpdateList(DefaultResources.Elements); } else { _combinationPanel.Init((ComplexModule)module); Elements.gameObject.SetActive(false); Submodules.gameObject.SetActive(true); _submoduleCounter.gameObject.SetActive(true); _elementCounter.gameObject.SetActive(false); } } UpdateModulesList(); }
public void SetSubmodule(LogicModules module) { if (_submoduleCounter.SelectedModule != null) { Player.Instance.Modules.Add(_submoduleCounter.SelectedModule); } Player.Instance.Modules.Remove(module); UpdateModulesList(); if (_submoduleCounter.SelectedModule == module) { _submoduleCounter.SelectedModule = null; } else { _submoduleCounter.SelectedModule = module; } }
public void Init(LogicModules module) { _submodule = module; }
private void SubmoduleSeted(LogicModules newModule, int id) { _activeTemplate.UpdateSubmodule(newModule, id); }
public static Sprite GetModuleSprite(LogicModules lm) { //compare modules by size return(Modules.FirstOrDefault(l => l.ModuleHolderName == lm.HolderName).Img); }
private void OnEnable() { _ownerModule = GetComponentInParent <ModulesEditor>().EditingModule; ((SimpleModule)_ownerModule).OnElementSeted += ElementChanged; }
public void SetSelectedModule(LogicModules module) { _selectedModule = module; }
public void UpdateSubmodule(LogicModules newModule, int id) { _comboSlots[id].Init(newModule); }
private void Start() { SelectedModule = null; }
public void SetSlot(LogicModules module) { Module = module; }