Пример #1
0
    public void SpawnArmL(string objectpath)
    {
        if (ArmLObjects.Count > 0)
        {
            if (actionManager.armorControllers[2] != null)
            {
                actionManager.armorControllers[2].UnEquip();
                actionManager.armorControllers[2] = null;
            }
            if (actionManager.armorAnimControllers[2] != null)
            {
                actionManager.armorAnimControllers[2].RemoveAnimations();
                actionManager.armorAnimControllers[2] = null;
            }
            for (int i = 0; i < ArmLObjects.Count; i++)
            {
                Destroy(ArmLObjects[i]);
            }
            ArmLObjects.Clear();
        }

        GameObject temp = Instantiate(Resources.Load(objectpath) as GameObject) as GameObject;

        temp.transform.parent = ArmLRoot;
        for (int i = 0; i < temp.transform.childCount; i++)
        {
            if (temp.transform.GetChild(i).name == LShoulderRootName)
            {
                ArmLObjects.Add(temp.transform.GetChild(i).gameObject);
                PositionArmL(temp.transform.GetChild(i));
            }
        }
        ArmorSkill armLcontroller = temp.GetComponent <ArmorSkill>();

        if (armLcontroller != null)
        {
            armLcontroller.Initialise(animationTarget, _myTransform, actionManager, (Collider)characterMotor.controller);

            Debug.Log("transfer animation");
        }

        PassiveArmorAnimationController armLAnimController = temp.GetComponent <PassiveArmorAnimationController>();

        if (armLAnimController != null)
        {
            armLAnimController.TransferAnimations(animationTarget, _myTransform);
        }

        actionManager.AddArmorcontroller(armLcontroller, armLAnimController, 2);
        ArmLObjects.Add(temp);
        //ArmorController armLcontroller = ArmL.GetComponent<ArmorController>();

        /*if(armLcontroller != null)
         * {
         *  armLcontroller.TransferAnimations(animationTarget, animationController);
         *  animationController.ArmorControllers[2] = armLcontroller;
         * }*/

        //animationController.UpdateAnimation();
    }
Пример #2
0
        public Armor GetRandomArmorPiece(FormState state, int tier, int piece)
        {
            Armor armor = new Armor();
            int   i     = state.Random.Next(0, armorNames.Length);

            armor.Name         = $"{armorNames[i]} {pieces[piece]}";
            armor.Piece        = piece;
            armor.Defense      = state.Random.Next(tier * 10, (tier + 10) * 10);
            armor.Skills       = new List <ArmorSkill>();
            armor.UpgradeLevel = 1;
            armor.UpXP         = 0;
            var skills = state.SManager.GetRandomArmorSkills(tier, state.Random);

            skills.ForEach(s =>
            {
                var armorSkill = new ArmorSkill()
                {
                    Slot  = piece,
                    Skill = s
                };
                armor.Skills.Add(armorSkill);
            });

            return(armor);
        }
Пример #3
0
 public void AddArmorcontroller(ArmorSkill controller, PassiveArmorAnimationController animController, int index)
 {
     armorControllers[index]     = controller;
     armorAnimControllers[index] = animController;
 }
Пример #4
0
 public void AddArmorcontroller(ArmorSkill controller, PassiveArmorAnimationController animController, int index)
 {
     armorControllers[index] = controller;
     armorAnimControllers[index] = animController;
 }