public void AddNode(SpellNode node) { node.spellParent = this; nodes.Add(node); MagicCircle mc = (MagicCircle)node.GetComponent <MagicCircle>(); if (mc != null) { if (baseNode == null) { baseNode = mc; } if (initialMagicCircle == null && mc.GetMcType() == MagicCircleType.Element) { initialMagicCircle = (ElementMagicCircle)mc; } if (previousMagicCircle != null && autoLinkTransition) { MagicCircleTransitionLinks link = (MagicCircleTransitionLinks)AddLink(LinkTypes.Transition); link.source = previousMagicCircle; link.destination = mc; updateLinksList.Add(link); } previousMagicCircle = mc; } }
public void OnElementalFluidStateChanged(int value) { ElementMagicCircle emc = (ElementMagicCircle)selectedSpellNode; if (emc != null) { emc.elementPhase = elementalData.GetFluidState(); } }
public void OnElementalAutoActivateChanged(bool value) { ElementMagicCircle emc = (ElementMagicCircle)selectedSpellNode; if (emc != null) { emc.autoActivate = elementalData.IsAutoActive(); } }
public void OnElementalChanged(int value) { ElementMagicCircle emc = (ElementMagicCircle)selectedSpellNode; if (emc != null) { emc.SetElement(elementalData.GetElement()); } }
public void OnElementalEmissionRateChanged(float value) { elementalData.OnEmissionRateChanged(value); ElementMagicCircle emc = (ElementMagicCircle)selectedSpellNode; if (emc != null) { emc.emissionRate.SetDefaultValue(elementalData.GetEmissionRate()); } }
public void OnElementalUILoad() { ElementMagicCircle emc = (ElementMagicCircle)selectedSpellNode; if (emc != null) { elementalData.SetEmissionRate(emc.emissionRate.Value()); elementalData.SetElement(emc.GetElement()); elementalData.autoActivate.isOn = emc.autoActivate; elementalData.SetFluidState(emc.elementPhase); } }
public void AutoLinkDataToNode() { if (selectedUISN != null) { ElementMagicCircle emc = (ElementMagicCircle)selectedUISN.linkedSpellNode; if (emc != null) { currentSpell.initialMagicCircle = emc; } else { Debug.LogWarning("Can't auto link data to node. Element Node not selected"); } } else { Debug.LogWarning("Can't auto link data to node. No node selected"); } }
public void OnCreateMC() { if (spell == null) { CreateSpell(); } if (rootMagicCircle == null || !rootMagicCircle.Contains((int)mcType)) { if (mcType == MagicCircleType.None) { rootMagicCircle = null; } OnEmissionRateChanged(value1Slider.value); Transform pos = rootMagicCircle == null ? defaultMagicCircle.transform : rootMagicCircle.transform; // GameObject newObj = Instantiate( defaultMagicCircle, pos ) as GameObject; // newObj.name = mcType.ToString() + " Magic Circle"; SpellNode newNode = spell.AddNode(mcType); newNode.name = mcType.ToString() + " Magic Circle"; MagicCircle newMc; switch (mcType) { case MagicCircleType.Element: ElementMagicCircle tempMC = newNode as ElementMagicCircle; // tempMC.SetMcType( mcType ); tempMC.SetElement((ElementType)subType); tempMC.emissionRate.SetDefaultValue(emissionRate); newMc = tempMC as MagicCircle; break; case MagicCircleType.Form: FormMagicCircle tempFormMC = newNode as FormMagicCircle; // tempMC.SetMcType( mcType ); // tempMC.SetElement( (ElementType) subType ); tempFormMC.SetForm((FormType)subType); tempFormMC.sizeMultiplier.SetDefaultValue(sizeMultiplier); newMc = tempFormMC as MagicCircle; break; case MagicCircleType.Movement: MovementMagicCircle tempMovementMC = newNode as MovementMagicCircle; // tempMC.SetMcType( mcType ); // tempMC.SetElement( (ElementType) subType ); tempMovementMC.SetMovement((MovementType)subType); tempMovementMC.force.SetDefaultValue(force); newMc = tempMovementMC as MagicCircle; break; default: newMc = newNode as MagicCircle; newMc.SetMcType(mcType); break; } if (rootMagicCircle == null) { rootMagicCircle = newMc; } else { // rootMagicCircle.AddMagicCircle( newMc ); } selectedMagicCircle = newMc; } }