Esempio n. 1
0
    void handleMount()
    {
        if (mount == null)
        {
            int    key   = ProgramSettings.get("MOUNT_KEY", 1445235995); // dragon mount default
            string anim  = ProgramSettings.get("MOUNT_ANIM", "mount_dragon_jump_cycle");
            float  speed = ProgramSettings.get("MOUNT_ANIM_SPEED", 0.02f);
            mount = AnimatedModelLoader.loadNIF(key);
            AnimatedNif animNif = mount.GetComponent <AnimatedNif>();
            animNif.animSpeed = speed;
            animNif.setSkeletonRoot(mount);
            animNif.setActiveAnimation(anim);
            //mount.transform.parent = mcamera.transform;

            mount.transform.position = this.mcamera.transform.position;
            mount.transform.rotation = this.mcamera.transform.rotation;
            // human_female_mount_dragon_jump_cycle.kf

            GameObject character = new GameObject();

            Paperdoll mainPaperdoll = character.AddComponent <Paperdoll>();
            mainPaperdoll.animOverride = anim;
            mainPaperdoll.kfbOverride  = "human_female_mount.kfb";
            mainPaperdoll.setGender("female");
            mainPaperdoll.setRace("human");
            //mainPaperdoll.GetComponent<AnimatedNif>().animSpeed = 0.02f;
            mainPaperdoll.animSpeed               = speed;
            character.transform.parent            = mount.transform;
            character.transform.localPosition     = new Vector3(0, 0, 0);
            character.transform.localRotation     = Quaternion.identity;
            mainPaperdoll.transform.localRotation = Quaternion.identity;

            mainPaperdoll.setAppearenceSet(-57952362);

            this.mcamera.GetComponent <cam.camera_movement>().enabled = false;
            mount_movement mm = mount.AddComponent <mount_movement>();
            mm.source = mount;

            this.mcamera.GetComponent <Mount_Camera>().enabled = true;
            this.mcamera.GetComponent <Mount_Camera>().target  = mount.transform;
        }
        else
        {
            DestroyChildren(mount.transform);
            GameObject.Destroy(mount);
            mount = null;
            this.mcamera.GetComponent <cam.camera_movement>().enabled = true;
            this.mcamera.GetComponent <Mount_Camera>().enabled        = false;
        }
    }
Esempio n. 2
0
    private void updateAvatar()
    {
        if (character == null)
        {
            character = new GameObject();
        }
        character.SetActive(true);
        mainPaperdoll = character.GetComponent <Paperdoll>();
        if (mainPaperdoll == null)
        {
            mainPaperdoll = character.AddComponent <Paperdoll>();
        }

        KFAnimation kf         = animationNif.getActiveAnimation();
        string      animString = kf.sequencename;

        if (kf.sequencename.StartsWith("mount"))
        {
            animString = kf.sequencename;
        }
        else
        {
            if (kf.sequencename.Contains("mount_"))
            {
                animString = kf.sequencename.Substring(kf.sequencename.IndexOf("mount"));
            }
        }
        Debug.Log("setting avatar animation to:" + animString);
        mainPaperdoll.animOverride = animString;
        mainPaperdoll.setKFBPostFix("mount");
        mainPaperdoll.setGender("male");
        mainPaperdoll.setRace("human");
        mainPaperdoll.animSpeed               = this.animationNif.animSpeed;
        character.transform.parent            = this.nifmodel.transform;
        character.transform.localPosition     = new Vector3(0, 0, 0);
        character.transform.localRotation     = Quaternion.identity;
        mainPaperdoll.transform.localRotation = Quaternion.identity;
        //mainPaperdoll.setAppearenceSet(1044454339);

        int key = ProgramSettings.get("MOUNT_AVATAR_KEY", 736798136);    //

        mainPaperdoll.setAppearenceSet(key);
        mainPaperdoll.zeroFrame();
        this.animationNif.zeroFrame();
    }
Esempio n. 3
0
    public void changeAppearance()
    {
        Debug.Log("Change appearance triggered", this.gameObject);
        if (appearanceDropdown.options.Count == 0)
        {
            return;
        }
        int     v      = appearanceDropdown.value;
        DOption option = (DOption)appearanceDropdown.options[v];

        if (option.userObject == null)
        {
            Debug.Log("Clearing appearing", this.gameObject);
            paperDoll.clearAppearence();
            updatePreviews();
        }
        else
        {
            entry entry = (entry)option.userObject;
            paperDoll.setAppearenceSet(entry.key);
            //paperDoll.FixedUpdate(); // force an update
            updatePreviews();
        }
    }