public void RemoveArm(SeaTruckArm arm) { armsDirty = true; if (arm == SeaTruckArm.Left) { GameObject leftModel = objectHelper.FindDeepChild(leftArm.GetGameObject(), "ArmModel"); helper.UnregisterRendererToSkyApplier(helper.TruckOuterApplier, leftModel); Destroy(leftArm.GetGameObject()); leftArm = null; currentLeftArmType = TechType.None; } else { GameObject rightModel = objectHelper.FindDeepChild(rightArm.GetGameObject(), "ArmModel"); helper.UnregisterRendererToSkyApplier(helper.TruckOuterApplier, rightModel); Destroy(rightArm.GetGameObject()); rightArm = null; currentRightArmType = TechType.None; } SetIllum(); armsDirty = false; }
void ISeaTruckArmHandler.SetRotation(SeaTruckArm arm, bool isDocked) { if (isDocked) { BaseRoot baseRoot = TruckHelper.MainCab.GetComponentInParent <BaseRoot>(); if (baseRoot.isBase) { if (arm == SeaTruckArm.Right) { transform.localRotation = Quaternion.Euler(20, 6, 0); } else { transform.localRotation = Quaternion.Euler(20, 354, 0); } } } else { if (arm == SeaTruckArm.Right) { transform.localRotation = Quaternion.Euler(0, 0, 0); } else { transform.localRotation = Quaternion.Euler(0, 0, 0); } } }
void ISeaTruckArmHandler.SetSide(SeaTruckArm arm) { if (arm == SeaTruckArm.Right) { transform.localScale = new Vector3(-0.8f, 0.8f, 0.8f); } else { transform.localScale = new Vector3(0.8f, 0.8f, 0.8f); } }
public void SetSide(SeaTruckArm arm) { if (arm == SeaTruckArm.Right) { transform.localScale = new Vector3(-0.80f, 0.80f, 0.80f); } else { transform.localScale = new Vector3(0.80f, 0.80f, 0.80f); } }
void ISeaTruckArmHandler.SetSide(SeaTruckArm arm) { if (arm == SeaTruckArm.Right) { transform.localScale = new Vector3(-0.8f, 0.8f, 0.8f); propulsionCannon.localObjectOffset = new Vector3(0.75f, 0f, 0f); } else { transform.localScale = new Vector3(0.8f, 0.8f, 0.8f); propulsionCannon.localObjectOffset = new Vector3(-0.75f, 0f, 0f); } }
public void AddArm(SeaTruckArm arm, TechType techType) { armsDirty = true; if (arm == SeaTruckArm.Left) { if (leftArm != null) { Destroy(leftArm.GetGameObject()); leftArm = null; } leftArm = Main.graphics.SpawnArm(techType, leftArmAttach); leftArm.SetSide(Left); leftArm.SetRotation(Left, helper.IsDocked); currentLeftArmType = techType; GameObject leftModel = objectHelper.FindDeepChild(leftArm.GetGameObject(), "ArmModel"); helper.RegisterRendererToSkyApplier(helper.TruckOuterApplier, leftModel); } else { if (rightArm != null) { Destroy(rightArm.GetGameObject()); rightArm = null; } rightArm = Main.graphics.SpawnArm(techType, rightArmAttach); rightArm.SetSide(Right); rightArm.SetRotation(Right, helper.IsDocked); currentRightArmType = techType; GameObject rightModel = objectHelper.FindDeepChild(rightArm.GetGameObject(), "ArmModel"); helper.RegisterRendererToSkyApplier(helper.TruckOuterApplier, rightModel); } SetIllum(); vfxConstructing.Regenerate(); ApplyColors(); //helper.TruckColorNameControl.ApplyColors(); armsDirty = false; UpdateColliders(); //ColorizationHelper.AddColorCustomizerToGameObject(rightArm.GetGameObject()); }
private void OnActiveSlotChanged(int newValue) { int slotID = newValue; if (slotID == LeftArmSlotID) { currentSelectedArm = SeaTruckArm.Left; return; } else if (slotID == RightArmSlotID) { currentSelectedArm = SeaTruckArm.Right; return; } currentSelectedArm = SeaTruckArm.None; ResetArms(); }
private void OnToggleSlot(int slotID, bool state) { if (state) { if (slotID == LeftArmSlotID) { currentSelectedArm = SeaTruckArm.Left; } else if (slotID == RightArmSlotID) { currentSelectedArm = SeaTruckArm.Right; } } else { currentSelectedArm = SeaTruckArm.None; ResetArms(); } }
void ISeaTruckArmHandler.SetSide(SeaTruckArm arm) { if (container != null) { container.onAddItem -= OnAddItem; container.onRemoveItem -= OnRemoveItem; } if (arm == SeaTruckArm.Right) { transform.localScale = new Vector3(-0.8f, 0.8f, 0.8f); StartCoroutine(GetItemsContainer("SeaTruckArmRight")); } else { transform.localScale = new Vector3(0.8f, 0.8f, 0.8f); StartCoroutine(GetItemsContainer("SeaTruckArmLeft")); } }