Ejemplo n.º 1
0
    static public void ChangeCharTransform(string strName, CharForWhat eForWhat = CharForWhat.eInterior)
    {
        GameObject   cMainChar = GameObject.Find(strName);
        SceneManager mgr       = Singlton.getInstance("SceneManager") as SceneManager;
        Vector3      posTemp   = posCharPos[(int)eForWhat];

        if (eForWhat == CharForWhat.eDresser && mgr.cShareData.eUserSex == CharSex.eMan)
        {
            posTemp.y -= 0.25f;
        }

        cMainChar.transform.localPosition = posTemp;
        cMainChar.transform.localScale    = scaCharSca[(int)eForWhat];

        DcCharAnim cCharAnim = cMainChar.GetComponent(typeof(DcCharAnim)) as DcCharAnim;

        if (cCharAnim)
        {
            if (eForWhat == CharForWhat.eDresser)
            {
                //cCharAnim.PlayIdle();
                //cCharAnim.bIsAutoPlaySpecialIdle = false;
            }
            else
            {
                //cCharAnim.bIsAutoPlaySpecialIdle = true;
                //cCharAnim.PlaySpecialIdle();
            }
        }
    }
Ejemplo n.º 2
0
    static public GameObject CreateChar(CharSex eSex         = CharSex.eWoman,
                                        CharModel eModel     = CharModel.eOne,
                                        CharForWhat eForWhat = CharForWhat.eInterior,
                                        bool bNeedCollider   = false,
                                        bool bNeedLight      = true)
    {
        GameObject cGO       = Resources.Load("player/Char/" + strPrefabName[(int)eSex, (int)eModel]) as GameObject;
        GameObject cMainChar = Utility.Instantiate(cGO) as GameObject;

        cMainChar.name            = cGO.name + (++nNameSerial).ToString();
        strCurMainCharGameObjName = cMainChar.name;

        ChangeCharTransform(strCurMainCharGameObjName, eForWhat);

        if (eForWhat == CharForWhat.eDancingLeft)
        {
            cMainChar.transform.Rotate(new Vector3(0, 160, 0));
        }
        else if (eForWhat == CharForWhat.eDancingRight)
        {
            cMainChar.transform.Rotate(new Vector3(0, -160, 0));
        }
        else
        {
            cMainChar.transform.Rotate(new Vector3(0, 180, 0));
        }

        if ((int)eForWhat <= (int)CharForWhat.eWaitingRoomRight)
        {
            cMainChar.AddComponent <DcCharacterShadow>();
            DcCharAnim cCharAnim = cMainChar.GetComponent(typeof(DcCharAnim)) as DcCharAnim;
            if (cCharAnim)
            {
                //cCharAnim.bIsAutoPlaySpecialIdle = true;
            }
        }

        if (bNeedCollider)
        {
            cMainChar.layer = LayerMask.NameToLayer("GameUILayout");
            for (int i = 0; i < cMainChar.transform.childCount; i++)
            {
                GameObject child = cMainChar.transform.GetChild(i).gameObject;
                child.layer = LayerMask.NameToLayer("GameUILayout");
            }
            BoxCollider cBoxColl = cMainChar.AddComponent <BoxCollider>();
            //BoxCollider cBoxColl = gameObject.GetComponent<BoxCollider>();
            if (eSex == CharSex.eMan)
            {
                cBoxColl.center = new Vector3(0, 34.8f, 0);
                cBoxColl.size   = new Vector3(20f, 72.1f, 15f);
            }
            else
            {
                cBoxColl.center = new Vector3(0, 30.7f, 0);
                cBoxColl.size   = new Vector3(20f, 62.7f, 15f);
            }
        }
        else
        {
            cMainChar.layer = LayerMask.NameToLayer("Default");
            for (int i = 0; i < cMainChar.transform.childCount; i++)
            {
                GameObject child = cMainChar.transform.GetChild(i).gameObject;
                child.layer = LayerMask.NameToLayer("Default");
            }
        }

        if (bNeedLight)
        {
            GameObject cL = GameObject.Find("DirLight");
            if (!cL)
            {
                cGO = Resources.Load("player/Light/DirLight") as GameObject;
                GameObject cDirLight = Utility.Instantiate(cGO) as GameObject;
                cDirLight.name = cGO.name;
            }
        }

        return(cMainChar);
    }
Ejemplo n.º 3
0
    public static void ChangeCharTransform(string strName,CharForWhat eForWhat = CharForWhat.eInterior)
    {
        GameObject cMainChar = GameObject.Find(strName);
        SceneManager mgr = Singlton.getInstance("SceneManager") as SceneManager;
        Vector3 posTemp = posCharPos[(int)eForWhat];
        if(eForWhat == CharForWhat.eDresser && mgr.cShareData.eUserSex == CharSex.eMan)
        {
            posTemp.y -= 0.25f;
        }

        cMainChar.transform.localPosition = posTemp;
        cMainChar.transform.localScale = scaCharSca[(int)eForWhat];

        DcCharAnim cCharAnim = cMainChar.GetComponent(typeof(DcCharAnim)) as DcCharAnim;
        if(cCharAnim)
        {
            if(eForWhat == CharForWhat.eDresser)
            {
                //cCharAnim.PlayIdle();
                //cCharAnim.bIsAutoPlaySpecialIdle = false;
            }
            else
            {
                //cCharAnim.bIsAutoPlaySpecialIdle = true;
                //cCharAnim.PlaySpecialIdle();
            }
        }
    }
Ejemplo n.º 4
0
    public static GameObject CreateChar(CharSex eSex = CharSex.eWoman,
                                        CharModel eModel = CharModel.eOne,
                                        CharForWhat eForWhat = CharForWhat.eInterior,
                                        bool bNeedCollider = false,
                                        bool bNeedLight = true)
    {
        GameObject cGO = Resources.Load("player/Char/"+strPrefabName[(int)eSex,(int)eModel]) as GameObject;
        GameObject cMainChar = Utility.Instantiate(cGO) as GameObject;
        cMainChar.name = cGO.name + (++nNameSerial).ToString();
        strCurMainCharGameObjName = cMainChar.name;

        ChangeCharTransform(strCurMainCharGameObjName,eForWhat);

        if(eForWhat == CharForWhat.eDancingLeft)
        {
            cMainChar.transform.Rotate(new Vector3(0, 160, 0));
        }
        else if(eForWhat == CharForWhat.eDancingRight)
        {
            cMainChar.transform.Rotate(new Vector3(0, -160, 0));
        }
        else
        {
            cMainChar.transform.Rotate(new Vector3(0, 180, 0));
        }

        if((int)eForWhat <= (int)CharForWhat.eWaitingRoomRight)
        {
            cMainChar.AddComponent<DcCharacterShadow>();
            DcCharAnim cCharAnim = cMainChar.GetComponent(typeof(DcCharAnim)) as DcCharAnim;
            if(cCharAnim)
            {
                //cCharAnim.bIsAutoPlaySpecialIdle = true;
            }
        }

        if(bNeedCollider)
        {
            cMainChar.layer = LayerMask.NameToLayer("GameUILayout");
            for(int i=0;i<cMainChar.transform.childCount;i++)
            {
                GameObject child = cMainChar.transform.GetChild(i).gameObject;
                child.layer = LayerMask.NameToLayer("GameUILayout");
            }
            BoxCollider cBoxColl = cMainChar.AddComponent<BoxCollider>();
            //BoxCollider cBoxColl = gameObject.GetComponent<BoxCollider>();
            if(eSex == CharSex.eMan)
            {
                cBoxColl.center = new Vector3(0, 34.8f, 0);
                cBoxColl.size = new Vector3(20f, 72.1f, 15f);
            }
            else
            {
                cBoxColl.center = new Vector3(0, 30.7f, 0);
                cBoxColl.size = new Vector3(20f, 62.7f, 15f);
            }
        }
        else
        {
            cMainChar.layer = LayerMask.NameToLayer("Default");
            for(int i=0;i<cMainChar.transform.childCount;i++)
            {
                GameObject child = cMainChar.transform.GetChild(i).gameObject;
                child.layer = LayerMask.NameToLayer("Default");
            }
        }

        if(bNeedLight)
        {
            GameObject cL = GameObject.Find("DirLight");
            if(!cL)
            {
           		cGO = Resources.Load("player/Light/DirLight") as GameObject;
                GameObject cDirLight = Utility.Instantiate(cGO) as GameObject;
                cDirLight.name = cGO.name;
            }
        }

        return cMainChar;
    }