예제 #1
0
    private void SpawnBarrel()
    {
        Instantiate(fireObj, transform.position, fireObj.transform.rotation);

        DestructibleObject destructibleObj = GetComponent <DestructibleObject>();

        if (destructibleObj == null)
        {
            //Destructible objects will not spawn a barrel


            OilBarrel barrel = ((GameObject)Instantiate(barrelObj, transform.position, Quaternion.identity)).GetComponent <OilBarrel>();
            barrel.SetValue(statsObj.oilValue);

            GameObject barrelOutline = Instantiate(barrelObjBG);
            barrelOutline.transform.position   = barrel.gameObject.transform.position;
            barrelOutline.transform.rotation   = barrel.gameObject.transform.rotation;
            barrelOutline.transform.localScale = barrel.transform.localScale * 1.35f;
            barrelOutline.transform.SetParent(barrel.gameObject.transform);
            barrelOutline.GetComponent <SpriteRenderer>().sortingLayerName = "Outline";
            OutlinePulser outline = barrelOutline.AddComponent <OutlinePulser>();
            outline.cols    = new Color[3];
            outline.cols[0] = Color.black;
            outline.cols[1] = Color.yellow;
            outline.cols[2] = Color.red;


            barrel.transform.localScale *= 1 + statsObj.oilValue / 20;
        }
        Camera.main.gameObject.GetComponent <ScreenShake>().DoScreenShake();
        BackgroundManager.instance.PlaySound(3);

        if (type == BuildingType.GAS)
        {
            GetComponent <SpriteRenderer>().sprite = rubbleSpr;
        }
        else
        {
            Destroy(gameObject);
        }
    }
예제 #2
0
파일: Cube.cs 프로젝트: spencewenski/Vision
 void Awake()
 {
     outlinePulser = GetComponentInChildren<OutlinePulser>();
     lightRipple = GetComponent<LightRipple>();
     AwakeChild();
 }
예제 #3
0
 void Awake()
 {
     outlinePulser = GetComponentInChildren <OutlinePulser>();
     lightRipple   = GetComponent <LightRipple>();
     AwakeChild();
 }
예제 #4
0
    void OnTriggerEnter(Collider other)
    {
        if (other.tag != "Player")
        {
            return;
        }

        foreach (GameObject gameObjectToOutline in outlineOnTrigger)
        {
            // set on outline if the object is a cube
            CubeController cubeController = gameObjectToOutline.GetComponent <CubeController>();
            if (cubeController != null && cubeController.currentEffect == Cube.CubeEffect_e.NONE)
            {
                cubeController.updateCurrentEffect(Cube.CubeEffect_e.OUTLINE);
            }
            else if (cubeController == null)
            {
                // if not a cube, set outlinepulser on directly
                OutlinePulser outlinePulser = gameObjectToOutline.GetComponent <OutlinePulser>();
                if (outlinePulser != null)
                {
                    outlinePulser.OutlinePulseOn = true;
                }
                else
                {
                    // if no outlinepulser, try nonFadeOutlinePulser
                    NonFadeOutlinePulser nonFadeOutlinePulser = gameObjectToOutline.GetComponent <NonFadeOutlinePulser>();
                    if (nonFadeOutlinePulser != null)
                    {
                        nonFadeOutlinePulser.OutlinePulseOn = true;
                    }
                }
            }
        }

        string displayString = "";
        int    lineNum       = 0;

        foreach (string line in displayOnTrigger)
        {
            if (lineNum++ > 0)
            {
                displayString += "\n";
            }
            displayString += line;
        }

        if (displayString.Length > 0)
        {
            GameObject textGO = Instantiate(effectTextPrefab);
            textGO.transform.SetParent(triggerTextRoot.transform, false);
            Text text = textGO.GetComponent <Text>();
            text.text  = displayString;
            text.color = Color.white;
            TriggerText triggerText = textGO.GetComponent <TriggerText>();
            triggerText.displaySec = displayTime;
        }

        if (destroyOnEnter)
        {
            Destroy(gameObject);
        }
    }