public IEquippable Unequip()
    {
        // physics
        gameObject.SetActive(true);
        SetRigidbodyActivity(true);

        // take out arrow
        PutAt(fakeArrow.transform, transform);
        fakeArrow.SetActive(false);

        // take out bow
        PutAt(bowArt.transform.parent, transform);
        bowArt.Unequip();

        // take out weapons from hands
        transform.parent = null;

        // modify animation
        LimitLeftHand(false);

        // de-boss yourself
        wielder.states.rpg.currentWeapon = null;
        wielder = null;
        return(this);
    }
示例#2
0
    public void Unequip()
    {
        wielder.OnPullBow    -= Wielder_OnPullBow;
        wielder.OnReleaseBow -= Wielder_OnReleaseBow;

        wielder = null;
    }
示例#3
0
    public void Equip(AnimatorEventManager wielder)
    {
        this.wielder = wielder;

        this.wielder.OnPullBow    += Wielder_OnPullBow;
        this.wielder.OnReleaseBow += Wielder_OnReleaseBow;
    }
    public IEquippable Unequip()
    {
        // physics
        gameObject.SetActive(true);
        SetRigidbodyActivity(true);

        // take out from arm
        transform.parent = null;

        // de-boss
        wielder.states.rpg.currentShield = null;
        wielder = null;
        return(this);
    }
    public void Equip(AnimatorEventManager wielder)
    {
        // physics
        gameObject.SetActive(true);
        SetRigidbodyActivity(false);

        // who's boss
        this.wielder = wielder;
        wielder.states.rpg.currentShield = this;

        // put on arm
        transform.parent        = wielder.leftArm;
        transform.localPosition = Vector3.zero;
        transform.localRotation = Quaternion.identity;
    }
示例#6
0
    // Main Functions
    public void Init()
    {
        // components
        capsule     = GetComponent <CapsuleCollider>();
        rigidBody   = GetComponent <Rigidbody>();
        audioSource = GetComponent <AudioSource>();
        rpg         = GetComponent <RPGManager>();
        rpg.Init();


        // initialize bodies

        /*for (int i = 0; i < 2; i++)
         * {
         *  bodies[i] = ObjectPool.Instance.GetObject(model + "(Clone)", transform);
         * }*/


        // life body
        bodies[1] = ObjectPool.Instance.GetObject(model + "_L(Clone)", transform);
        //DisableRagdoll(bodies[1]);
        aem = bodies[1].AddComponent <AnimatorEventManager>();
        aem.Init(this);
        animator  = aem.animator;
        ikManager = bodies[1].AddComponent <IKManager>();
        ikManager.Init(this);


        // dead body
        bodies[0] = ObjectPool.Instance.GetObject(model + "(Clone)", transform);
        dieScript = bodies[0].AddComponent <DieScript>();
        dieScript.Init();
        dieScript.states = this;
        deadBody         = dieScript.gameObject;
        deadBody.SetActive(false);



        // item interaction and stuff
        PotionHandIdentifier potionHand = GetComponentInChildren <PotionHandIdentifier>();

        if (potionHand != null)
        {
            this.potionHand = potionHand.transform;
        }

        pickUp.actionAnimationName = "Pick Up";
    }
示例#7
0
    public void Equip(AnimatorEventManager wielder)
    {
        gameObject.SetActive(true);
        SetRigidbodyActivity(false);

        // who's boss
        this.wielder = wielder;
        wielder.states.rpg.currentWeapon = this;

        // animation modification
        LimitRightHand(true);
        weapon.wielder = wielder;

        // put weapon in right hand
        transform.parent        = wielder.rightHand;
        transform.localPosition = Vector3.zero;
        transform.localRotation = Quaternion.identity;
    }
示例#8
0
    public IEquippable Unequip()
    {
        EndAttack();

        // physics
        gameObject.SetActive(true);
        SetRigidbodyActivity(true);

        // take out from hand
        transform.parent = null;
        weapon.wielder   = null;

        // modify animations
        LimitRightHand(false);

        // de-boss.. Merdeka! You answer to NO ONE now!!
        wielder.states.rpg.currentWeapon = null;
        wielder = null;
        return(this);
    }
    public void Equip(AnimatorEventManager wielder)
    {
        // physics
        gameObject.SetActive(true);
        SetRigidbodyActivity(false);

        // who's boss
        this.wielder = wielder;
        wielder.states.rpg.currentWeapon = this;

        // animation modification
        LimitLeftHand(true);

        // i dunno keep myself in yer pockets
        PutAt(transform, wielder.leftHand);

        // put arrow in right hand
        PutAt(fakeArrow.transform, wielder.rightHand);
        fakeArrow.SetActive(false);

        // put bow in left hand
        PutAt(bowArt.transform.parent, wielder.leftHand);
        bowArt.Equip(this.wielder);
    }