Beispiel #1
0
        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);
     }
 }
Beispiel #4
0
 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);
     }
 }
Beispiel #6
0
        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());
        }
Beispiel #7
0
        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();
        }
Beispiel #8
0
 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"));
            }
        }