コード例 #1
0
    //Check refernces and set initial values
    void Start()
    {
        setValues();//reset

        rigid = GetComponent <Rigidbody>();
        //camera = transform.GetChild(0).gameObject.GetComponent<Camera>();//camera must be very first child
        camera = GetComponentInChildren <Camera>();

        animator         = GetComponent <Animator>();
        animator.enabled = true;

        interactor = GetComponent <Interactor>();
        switcher   = GetComponent <DSwitcher>();

        if (playerData == null)
        {
            Debug.LogWarning("assign playerdata to player in inspetor please");
        }
        else
        {
            StartCoroutine(loadPlayerData());
        }

        if (inputData == null)
        {
            Debug.LogWarning("assign inputdata to player in inspetor please");
        }
        else
        {
            StartCoroutine(loadInputData());
        }
    }
コード例 #2
0
    private void Awake()                      //Initiallize before intial switch
    {
        dimension = DSwitcher.register(this); //register to switcher
        if (dimension == null)
        {
            Debug.LogWarning(name + " failed to register to " + dimensionIndex);
        }
        else
        {
            Debug.Log(name + " registered to dimension " + dimension.index);
        }


        Transform[] childTrans = gameObject.GetComponentsInChildren <Transform>();//gat all childern
        children = new GameObject[childTrans.Length];
        for (int i = 0; i < children.Length; i++)
        {
            children[i] = childTrans[i].gameObject;
        }

        if (render.Length == 0)
        {
            render = GetComponentsInChildren <Renderer>();                   //get renderes
        }
        if (render.Length == 0)
        {
            Debug.LogError("There is no valid renderer for " + name);
        }


        myLayer = new int[children.Length];//get layers of children
        for (int i = 0; i < children.Length; i++)
        {
            myLayer[i] = children[i].layer;
        }
        layer = gameObject.layer;

        castShadow = new UnityEngine.Rendering.ShadowCastingMode[render.Length];//get show of renders
        for (int i = 0; i < render.Length; i++)
        {
            castShadow[i] = render[i].shadowCastingMode;
        }

        for (int i = 0; i < render.Length; i++)//get materials of renders
        {
            myMaterial.Add(render[i].materials);
            Material[] mat = new Material[render[i].materials.Length];
            for (int j = 0; j < mat.Length; j++)
            {
                mat[j] = dimension.mat;
            }
            dimMaterial.Add(mat);
        }
    }
コード例 #3
0
ファイル: DSwitcher.cs プロジェクト: flixabua/CyberFast-Noir
    public static Dimension register(DSwitchable switchObject)          //register a switchabe to me
    {
        DSwitcher switcher = GameObject.FindObjectOfType <DSwitcher>(); //maybe use singelton instead?

        if (switcher != null)
        {
            switcher.switchables.Add(switchObject);
            int i = switchObject.dimensionIndex;
            if (i >= 0 && i < switcher.dimensions.Length)
            {
                return(switcher.dimensions[i]);
            }
            else
            {
                return(null);
            }
        }
        else
        {
            Debug.Log(switchObject.name + " could not find a switcher to register to");
            return(null);
        }
    }