// Use this for initialization
    void Start()
    {
        animator = GetComponent <Animator>();
        MyHelpNode.FindTransform(transform, "racingCar", out racingCar);
        carAudio = racingCar.GetComponent <CarAudio>();

        liftMachineAudio   = GetComponent <LiftMachineAudio>();
        origGarageOpenTime = GarageOpenTime;
    }
示例#2
0
        void Start()
        {
            //LiftMachine
            Renderer[] renders = LiftMachine.GetComponentsInChildren <Renderer>(true);
            foreach (Renderer r in renders)
            {
                r.enabled = false;
            }
            CarDoorOpen[] carDoorOpens = LiftMachine.GetComponentsInChildren <CarDoorOpen>();
            for (int a = 0; a < carDoorOpens.Length; a++)
            {
                Destroy(carDoorOpens[a]);
            }

            //Add OnPaintingListener
            PaintVR.PBSPaintableObject[]      tp     = fishAI.GetComponentsInChildren <PaintVR.PBSPaintableObject>();
            List <PaintVR.PBSPaintableObject> poList = new List <PaintVR.PBSPaintableObject>(tp);

            StartCoroutine(_GarageGBufferGeneratorInit(poList));
            foreach (PaintVR.PBSPaintableObject paintObj in poList)
            {
                paintObj.AddOnPaintingListener(OnPaintBallShot);
            }

            //Paint ball game
            Transform gameStateMangerObj;

            MyHelpNode.FindTransform(PaintBallWallGameObj.transform, "StateManger", out gameStateMangerObj);
            paintBallStateManger = gameStateMangerObj.GetComponent <PaintBallStateManager>();
            paintBallStateManger.SetStopMusic();
            trackerOfMRWall          = MyReflection.GetMemberVariable(RoomSettingManager.instance, "trackerOfMRWall") as Transform;
            trackerOfHealth          = MyReflection.GetMemberVariable(RoomSettingManager.instance, "trackerOfHealth") as Transform;
            trackerOfMRWall.position = Vector3.up * 99f;
            trackerOfHealth.position = Vector3.up * 99f;

            //Set new material
            List <MeshRenderer> renderList = new List <MeshRenderer>(GameManager.Instance.PaintBallWallGameObj.GetComponentsInChildren <MeshRenderer>());

            renderList.AddRange(GameManager.Instance.hidingDoor.GetComponentsInChildren <MeshRenderer>());
            foreach (MeshRenderer mr in renderList)
            {
                if (mr.gameObject.tag == "PaintBallWall_Lift")
                {
                    mr.material = new Material(GameManager.Instance.PaintBallWallGame_LiftReflectTex);
                }
                else if (mr.gameObject.tag == "PaintBallWall_Fix")
                {
                    mr.material = new Material(GameManager.Instance.PaintBallWallGame_FixedReflectTex);
                }
            }

            infoTextStart();

            _gameStateManager = new GameStateManager();
            _gameStateManager.Restart();
        }
        public void SetDepthToRobotLightBeam(RobotController robotController)
        {
            //Lightbeam lightBeam = robotController.GetComponentInChildren<Lightbeam>();
            Transform lightBeam;

            MyHelpNode.FindTransform(robotController.transform, "Lightbeam2D", out lightBeam);
            Renderer lightBeamRender = lightBeam.GetComponent <Renderer>();

            lightBeamRender.material.SetTexture("_MyDepth01Texture", _renderLivemeshDepthN.RT);
        }
    void Start()
    {
        robotSound = GetComponentInChildren <RobotSound>();
        ani        = GetComponentInChildren <Animator>();

        discoLightRoot = transform.Find("DiscoLightRoot");
        discoLightRoot.DORotate(Vector3.up * 360, 3, RotateMode.LocalAxisAdd).SetLoops(-1).SetEase(Ease.Linear);
        discoLightRoot.transform.parent = null;//Move to root , since discoLight will causes rigidbody broken.

        MyHelpNode.FindTransform(transform, "RobotHeadSpotlight", out headSpotlight);
        rb = GetComponent <Rigidbody>();
    }
    //public void CarDoorOpen()
    //{
    //
    //    Animator carAnimator = racingCar.GetComponent<Animator>();
    //    carAnimator.enabled = true;
    //    carAnimator.Play("open");
    //}

    void CarDoorClose()
    {
        if (racingCar == null)
        {
            MyHelpNode.FindTransform(transform, "racingCar", out racingCar);
        }
        Animator carAnimator = racingCar.GetComponent <Animator>();

        carAnimator.enabled = true;
        carAnimator.Play("close");

        carAudio.PlaySound("CarDoorClose", soundVolume, 0, 1.0f);
    }
示例#6
0
    public void playaudioNode(string nodeName_audioname)
    {
        if (!playAudio)
        {
            return;
        }
        string[]  names = nodeName_audioname.Split('_');
        Transform node;

        MyHelpNode.FindTransform(transform, names[0], out node);
        AudioManagerBase audioManager = node.GetComponent <AudioManagerBase>();

        audioManager.PlaySound(names[1]);
    }
    public void CarDoorSwitch()
    {
        if (racingCar == null)
        {
            MyHelpNode.FindTransform(transform, "racingCar", out racingCar);
        }
        Animator carAnimator = racingCar.GetComponent <Animator>();

        carAnimator.enabled = true;
        bool isopen = carAnimator.GetBool("open");

        isopen = !isopen;
        carAnimator.SetBool("open", isopen);
        carAudio.PlaySound(
            (isopen) ? "CarDoorOpen" : "CarDoorClose", soundVolume, 0,
            (isopen) ? 0.3f : 1.0f);
    }
    private void OnCollisionStay(Collision collision)
    {
        if (shieldEffectObj != null)
        {
            return;
        }
        shieldEffectObj = Instantiate(shieldEffectPrefab);
        Transform body;

        MyHelpNode.FindTransform(transform, "ball_robot", out body);
        shieldEffectObj.transform.parent        = body;
        shieldEffectObj.transform.localPosition = Vector3.zero;
        shieldEffectObj.transform.localScale    = Vector3.one * Random.Range(0.7f, 0.8f);
        shieldEffectObj.transform.right         = (collision.contacts[0].point - shieldEffectObj.transform.position).normalized;

        shieldEffectObj.GetComponentInChildren <Renderer>().material.renderQueue = 3010;

        ARRender.Instance.AddUnityrenderWithDepth(shieldEffectObj.transform);
        StartCoroutine(destroyshieldEffectObj(shieldEffectObj));
    }
示例#9
0
    public void Bigger()
    {
        transform.GetChild(0).DOKill();
        transform.GetChild(0).DOScale(1, 0.5f);
        transform.GetChild(0).DOLocalMoveY(0, 0.5f);
        Transform quard;

        MyHelpNode.FindTransform(transform.GetChild(0), "Quad", out quard);
        quard.transform.DOKill();
        quard.transform.DOScaleX(1, 0.5f);
        quard.transform.DOScaleY(1, 0.5f);

#if !USE_TEXTPRO
        //0.7~1
        if (characterSizeTweener != null)
        {
            characterSizeTweener.Kill();
        }
        characterSizeTweener = DOTween.To(() => textmesh.characterSize, x => textmesh.characterSize = x, 0.7f, 0.5f);
#endif
    }
示例#10
0
    IEnumerator _BigToSmaller(bool moveUp, float __waitSec)
    {
        transform.GetChild(0).DOKill();
        transform.GetChild(0).localPosition = Vector3.zero;
        transform.GetChild(0).localScale    = Vector3.one;
#if !USE_TEXTPRO
        textmesh.characterSize = 0.7f;
#endif

        //transform.GetChild(0).DOMove(Vector3.zero, 0.2f);
        //transform.GetChild(0).DOScale(Vector3.one, 0.2f);
        //if (characterSizeTweener != null) { characterSizeTweener.Kill(); }
        //characterSizeTweener = DOTween.To(() => textmesh.characterSize, x => textmesh.characterSize = x, 0.7f, 0.2f);

        Transform quard;
        MyHelpNode.FindTransform(transform.GetChild(0), "Quad", out quard);
        quard.transform.DOKill();
        quard.transform.DOScaleX(1, 0.2f);
        quard.transform.DOScaleY(1, 0.2f);

        yield return(new WaitForSeconds(3));

        transform.GetChild(0).DOScale(0.8f, 2);
        transform.GetChild(0).DOLocalMoveY((moveUp) ? 30 : -30, 2);
        quard.transform.DOScaleX(1.2f, 2);
        quard.transform.DOScaleY(0.7f, 2f);

#if !USE_TEXTPRO
        if (characterSizeTweener != null)
        {
            characterSizeTweener.Kill();
        }
        characterSizeTweener = DOTween.To(() => textmesh.characterSize, x => textmesh.characterSize = x, 0.9f, 2);
#endif
        yield return(new WaitForSeconds(__waitSec));

        //gameObject.SetActive(false);
        show(false);
    }
示例#11
0
    void Update()
    {
        if (slightList == null &&
            (Input.GetKeyDown(KeyCode.A) || AutoStart))
        {
            Pose[] lightPose = _createLightPoints();
            slightList = new List <Light>();
            foreach (Pose pose in lightPose)
            {
                GameObject obj = new GameObject("LightUnit");//GameObject.CreatePrimitive(PrimitiveType.Sphere);
                obj.transform.localScale    = Vector3.one * 1.0f;
                obj.transform.parent        = transform;
                obj.transform.localPosition = pose.position;
                obj.transform.localRotation = pose.rotation;

                //if (SpotLightPrefab!=null)
                {
                    GameObject slightObj = new GameObject("spotlight");// Instantiate(SpotLightPrefab) ;
                    slightObj.transform.parent        = obj.transform;
                    slightObj.transform.localPosition = Vector3.zero;
                    slightObj.transform.localRotation = Quaternion.Euler(0, 180, 0);
                    Light slight = slightObj.AddComponent <Light>();
                    slight.type    = LightType.Spot;
                    slight.enabled = true;
                    slightList.Add(slight);
                }

                //Create light model
                GameObject lightModel = GameObject.CreatePrimitive(PrimitiveType.Cylinder);
                lightModel.transform.parent        = obj.transform;
                lightModel.transform.localPosition = Vector3.zero;
                lightModel.transform.localRotation = Quaternion.Euler(90, 0, 0);
                lightModel.transform.localScale    = new Vector3(0.2f, 0.01f, 0.2f) * (radius / 0.5f);
                Collider col = lightModel.GetComponent <Collider>();
                DestroyImmediate(col);
                MeshRenderer renderer = lightModel.GetComponent <MeshRenderer>();
                renderer.material = new Material(Shader.Find("Unlit/Color"));
            }

            //create big ball
            GameObject bigBall = GameObject.CreatePrimitive(PrimitiveType.Sphere); //new GameObject("BigBall");
            bigBall.name                    = "BigBall";
            bigBall.transform.parent        = transform;                           //.parent.parent.parent;
            bigBall.transform.localPosition = Vector3.zero;
            bigBall.transform.localRotation = Quaternion.identity;
            bigBall.transform.localScale    = Vector3.one * radius * 2;
            Collider colider = bigBall.GetComponent <Collider>();
            Destroy(colider);
            if (ballMaterial != null)
            {
                bigBall.GetComponent <Renderer>().material = ballMaterial;
            }
        }

        if (slightList != null)
        {
            int count = 0;
            foreach (Light light in slightList)
            {
                light.intensity = intensity;
                light.spotAngle = angle;
                light.range     = range;
                if (colorList != null && colorList.Length > 0)
                {
                    light.color = colorList[(int)Mathf.Repeat(count, colorList.Length)];
                }

                //if (oldBeamAlpha != lightBeamAlpha)
                {
                    //Lightbeam beam = light.GetComponentInChildren<Lightbeam>();
                    Transform beam;
                    MyHelpNode.FindTransform(light.transform, "Lightbeam2D", out beam, true);
                    if (beam != null)
                    {
                        Renderer beamRenderer = beam.GetComponent <Renderer>();
                        beamRenderer.material.color = new Color(light.color.r, light.color.g, light.color.b, lightBeamAlpha);
                    }
                }

                count++;
            }
            //oldBeamAlpha = lightBeamAlpha;
        }

        if (lightBeamPrefab != null && lightBeamList == null && slightList != null)
        {
            lightBeamList = new List <LineRenderer>();
            foreach (Light light in slightList)
            {
                GameObject lightBeamObj = Instantiate(lightBeamPrefab);
                lightBeamObj.transform.parent        = light.transform;
                lightBeamObj.transform.localPosition = Vector3.zero;
                lightBeamObj.transform.localRotation = Quaternion.Euler(Vector3.right * -90);// Quaternion.LookRotation(Vector3.forward, Vector3.up);
                LineRenderer lightBeam = lightBeamObj.GetComponent <LineRenderer>();
                lightBeam.GetComponent <Renderer>().material = new Material(lightBeamMaterial);
                lightBeamList.Add(lightBeam);
            }
        }

        if (lightBeamList != null)
        {
            if ((oldBeamRange != lightBeamRange) ||
                //(oldBeamTop != lightBeamRadiusTop) ||
                (oldBeamBottom != lightBeamRadiusBottom))
            {
                oldBeamRange = lightBeamRange;
                //oldBeamTop = lightBeamRadiusTop;
                oldBeamBottom = lightBeamRadiusBottom;
                foreach (LineRenderer beam in lightBeamList)
                {
                    beam.SetPosition(0, Vector3.up * 0.02f);
                    beam.SetPosition(1, Vector3.up * lightBeamRange);
                    beam.widthMultiplier = lightBeamRadiusBottom;
                    //beam.endWidth = lightBeamRadiusTop;
                }
            }
        }

        if (oldRotX != rotX || oldSpeedRotX != speedRotX)
        {
            DOTween.Kill(transform.parent);
            oldSpeedRotX = speedRotX;
            oldRotX      = rotX;
            transform.parent.DOLocalRotate(Vector3.right * 360, speedRotX, RotateMode.LocalAxisAdd).SetLoops(-1, LoopType.Restart).SetEase(rotX);
        }

        if (oldRotY != rotY || oldSpeedRotY != speedRotY)
        {
            DOTween.Kill(transform.parent.parent);
            oldSpeedRotY = speedRotY;
            oldRotY      = rotY;
            transform.parent.parent.DOLocalRotate(Vector3.up * 360, speedRotY, RotateMode.LocalAxisAdd).SetLoops(-1, LoopType.Restart).SetEase(rotY);
        }
    }