Inheritance: MonoBehaviour
Beispiel #1
0
 //public bool crawl = false;
 void Awake()
 {
     knifeCollider.gameObject.SetActive(false);
     pv = GetComponent <PhotonView>();
     if (pv.isMine)
     {
         //rader.playerPos = tr;
         ps  = GetComponent <PlayerState>();
         sbm = GetComponentInChildren <StateBarManager>();
         rb  = GetComponent <Rigidbody>();
         om  = GetComponent <OptionManager>();
         fs  = GetComponent <FireScript>();
         cc  = GetComponent <CheckCollider>();
         Camera.main.GetComponent <CameraControl>().Player  = this.gameObject;
         Camera.main.GetComponent <CameraControl>().enabled = true;
     }
     else
     {
         //anim = null;
         scopeOverlay    = null;
         cameraTransform = null;
         camPivot        = null;
         //rb.isKinematic = true;
         //this.enabled = false;
     }
 }
Beispiel #2
0
    void Update()
    {
        if (Input.GetKey(KeyCode.Z) && transform.position == pos && transform.position.y < 4)
        {        // Up
            pos += Vector3.up;
        }
        if (Input.GetKey(KeyCode.S) && transform.position == pos && transform.position.y > 0)
        {        // Down
            pos += Vector3.down;
        }
        transform.position = Vector3.MoveTowards(transform.position, pos, Time.deltaTime * speed);    // Move there

        // 5 - Shooting
        bool shoot = Input.GetKey(KeyCode.Space);

        //shoot |= Input.GetButtonDown("Fire2");

        if (shoot)
        {
            FireScript weapon = GetComponent <FireScript>();
            if (weapon != null)
            {
                // false because the player is not an enemy
                weapon.Attack(false);
            }
        }

        // ...
    }
 // Start is called before the first frame update
 void Start()
 {
     myFireScript = GetComponentInChildren <FireScript>(); //hämtar skriptet FireScript
     HP           = 5;
     Debug.Log("Jag hann inte lägga till en startsärm där kontrollerna beskrivs.");
     Debug.Log("Jump with space; walk with A and D or leftArrow and rightArrow.");
     Debug.Log("Fire with F or leftControl; switch weapon with TAB");
     Debug.Log("Sprint with SHIFT");
 }
    private void OnTriggerEnter2D(Collider2D collision)
    {
        FireScript fire = collision.gameObject.GetComponent <FireScript>();

        if (fire != null)
        {
            Destroy(fire.gameObject);
        }
    }
Beispiel #5
0
 private void Awake()
 {
     LockCursor();
     InventoryObj = GameObject.Find("Inventory");
     pv           = GetComponent <PhotonView>();
     ps           = GetComponent <PlayerState>();
     fireScript   = GetComponent <FireScript>();
     suc          = GetComponentInChildren <ScopeUiControl>();
     //cameraControlScript = GetComponentInChildren<CameraControl>();
 }
Beispiel #6
0
    void Start()
    {
        isBurning      = false;
        isBroken       = false;
        fountainScript = null;
        isFurniture    = type == TaskType.Furniture;
        isNPC          = type == TaskType.NPC;
        isInteractable = false;
        taskCollider   = GetComponent <Collider2D>();
        taskRenderer   = GetComponent <SpriteRenderer>();
        originalSize   = taskRenderer.bounds.size;
        if (type == TaskType.Sweep)
        {
            interactCollider = GetComponent <BoxCollider2D>();
        }
        else
        {
            interactCollider = GetComponent <CircleCollider2D>();
        }
        animator = GetComponent <Animator>();
        if (type == TaskType.Fire)
        {
            fireScript = GetComponent <FireScript>();
        }

        MyGameManager.Instance.addTask(this);

        duration = duration / 2;

        initialDuration = duration;

        if (isFurniture)
        {
            animator.SetInteger("Furniture", (int)furnitureType);
            if (canLeak())
            {
                fountainScript = gameObject.AddComponent <FountainScript>();
                fountainGO     = Instantiate(Resources.Load("WaterFountain"), transform.position, Quaternion.identity) as GameObject;
                Bounds bounds = fountainGO.GetComponent <SpriteRenderer>().bounds;
                fountainGO.transform.position += new Vector3(0, bounds.extents.y / 3);
                fountainGO.SetActive(false);
                fountainScript.enabled = false;
            }
        }

        if (isNPC)
        {
            animator.SetInteger("NPC", (int)NPCType);
            enemyAI = GetComponent <EnemyAI>();
        }

        initForLevel();
    }
Beispiel #7
0
 // Use this for initialization
 void OnTriggerEnter(Collider other)
 {
     if (!other.isTrigger && !other.CompareTag("Propellant") && !other.CompareTag("Player"))
     {
         Destroy(this.gameObject);
     }
     if (other.CompareTag("Fire"))
     {
         FireScript fs = other.GetComponent <FireScript>();
         fs.Quench(damage);
     }
 }
 void Awake()
 {
     pv = GetComponent <PhotonView>();
     if (pv.isMine)
     {
         ps      = GetComponent <PlayerState>();
         om      = GetComponent <OptionManager>();
         idb     = GetComponentInChildren <ItemDatabase>();
         iv      = GetComponentInChildren <Inventory>();
         fs      = GetComponent <FireScript>();
         menuPos = GameObject.Find("MenuPos");
         sbm     = GetComponentInChildren <StateBarManager>();
     }
     pickUpAnimCheck = false;
 }
Beispiel #9
0
    // Update is called once per frame
    void Update()
    {
        TIMER -= Time.deltaTime;

        if (TIMER <= 0)
        {
            Destroy(gameObject);
            GameObject s = LevelArray.createObject(x, y, fire, 0);
            LevelArray.level[x, y] = new ArrayClass(ArrayTypes.FIRECROSS, s);

            FireScript f = (FireScript)s.GetComponent("FireScript");
            f.remaining = owner.BOMBSTR;
            f.xDir      = 0; f.yDir = 0;

            owner.BOMBCNT++;
        }
    }
Beispiel #10
0
    // Update is called once per frame
    void Update()
    {
        _animator.SetFloat("player_speed", Mathf.Abs(Input.GetAxis("Horizontal")));

        float x = Input.GetAxis("Horizontal");
        float y = Input.GetAxis("Vertical");

        _movement = new Vector2(
            playerSpeed.x * x,
            playerSpeed.y * y
            );

        if (Input.GetButtonDown("Fire1") || Input.GetButtonDown("Fire2"))
        {
            FireScript script = GetComponent <FireScript>();
            if (script != null)
            {
                script.Fire(false);
            }
        }

        var dist = (transform.position - Camera.main.transform.position).z;

        var leftBorder = Camera.main.ViewportToWorldPoint(
            new Vector3(0, 0, dist)
            ).x;

        var rightBorder = Camera.main.ViewportToWorldPoint(
            new Vector3(1, 0, dist)
            ).x;

        var topBorder = Camera.main.ViewportToWorldPoint(
            new Vector3(0, 0.05f, dist)
            ).y;

        var bottomBorder = Camera.main.ViewportToWorldPoint(
            new Vector3(0, 0.7f, dist)
            ).y;

        transform.position = new Vector3(
            Mathf.Clamp(transform.position.x, leftBorder, rightBorder),
            Mathf.Clamp(transform.position.y, topBorder, bottomBorder),
            transform.position.z
            );
    }
Beispiel #11
0
    private void createFire(int i, int j, int x, int y, int rot)
    {
        if (x + i >= 0 && x + i < 11 && y + j >= 0 && y + j < 11)
        {
            if (LevelArray.level[x + i, y + j].Type == ArrayTypes.EMPTY)
            {
                GameObject o;
                if (remaining == 1)
                {
                    o = fireend;
                }
                else
                {
                    o = fire;
                }
                GameObject s = LevelArray.createObject(x + i, y + j, o, rot);
                LevelArray.level[x + i, y + j] = new ArrayClass(ArrayTypes.FIRE, s);

                FireScript f = (FireScript)s.GetComponent("FireScript");
                f.remaining = remaining - 1;
                f.xDir      = i; f.yDir = j;
            }
            else if (LevelArray.level[x + i, y + j].Type == ArrayTypes.FIRE)
            {
                GameObject s = LevelArray.createObject(x + i, y + j, firecross, rot);
                LevelArray.level[x + i, y + j] = new ArrayClass(ArrayTypes.FIRECROSS, s);

                FireScript f = (FireScript)s.GetComponent("FireScript");
                f.remaining = remaining - 1;
                f.xDir      = i; f.yDir = j;
            }
            else if (LevelArray.level[x + i, y + j].Type == ArrayTypes.BLOCK)
            {
                BlockScript b = (BlockScript)LevelArray.level[x + i, y + j].Obj.GetComponent("BlockScript");
                b.hit = true;
            }
            else if (LevelArray.level[x + i, y + j].Type == ArrayTypes.BOMB)
            {
                BombScript b = (BombScript)LevelArray.level[x + i, y + j].Obj.GetComponent("BombScript");
                b.TIMER = 0;
            }
        }
    }
Beispiel #12
0
 void Awake()
 {
     pv              = GetComponent <PhotonView>();
     camCon          = Camera.main.GetComponent <CameraControl>();
     optionManager   = GetComponent <OptionManager>();
     charMove        = GetComponent <CharacterMove>();
     fireScript      = GetComponent <FireScript>();
     currHp          = Constants.initHp;
     renderers       = GetComponentsInChildren <MeshRenderer>();
     skinRenderers   = GetComponentsInChildren <SkinnedMeshRenderer>();
     colliders       = GetComponentsInChildren <Collider>();
     canvas          = GetComponentsInChildren <Canvas>();
     checkColliderCs = GetComponent <CheckCollider>();
     sbm             = GetComponentInChildren <StateBarManager>();
     if (!pv.isMine)
     {
         otherUIobj.SetActive(false);
         gameOverUIobj.SetActive(false);
         deathCamPivot.SetActive(false);
     }
 }
Beispiel #13
0
    // Update is called once per frame
    void Update()
    {
        if (currentHealth <= 0)
        {
            currentLives -= 1;
            shipAnimator.SetTrigger("DeathAnimTrigger");

            fireEffect = FindObjectOfType <FireScript>();
            if (fireEffect != null)
            {
                fireEffect.DestroyFire();
            }
            playerShoot = FindObjectOfType <PlayerAttack>();
            if (playerShoot != null)
            {
                playerShoot.Destroy();
            }

            //GameEventScript.current.playerDeath();
            //Destroy(gameObject);
        }
    }
Beispiel #14
0
    // Update is called once per frame
    void Update()
    {
        //numberOfKeys.text = keys.ToString();
        if (Input.GetKeyDown(KeyCode.Mouse0))
        {
            Ray        ray = new Ray(transform.position, transform.forward);
            RaycastHit hit;

            if (Physics.Raycast(ray, out hit, length))
            {
                if (hit.collider.CompareTag("Door"))
                {
                    DoorScript doorScript = hit.collider.transform.parent.GetComponent <DoorScript>();

                    if (doorScript == null)
                    {
                        return;
                    }

                    if (Inventory.keys[doorScript.index] == true)
                    {
                        doorScript.ChangeDoorState();
                        FindObjectOfType <AudioManager>().Play("OpenDoor");
                    }
                    else
                    {
                        FindObjectOfType <AudioManager>().Play("LockedDoor");
                    }

                    //Debug.Log("Colidi");
                    //player.ChangeCameraStateTrue();
                }

                else if (hit.collider.CompareTag("FinalDoor"))
                {
                    DoorScript doorScript = hit.collider.transform.parent.GetComponent <DoorScript>();

                    if (doorScript == null)
                    {
                        return;
                    }

                    if (Inventory.keys[doorScript.index] == true && soundEmitter >= 4 && imagePuzzle.valorFinal == 5)
                    {
                        doorScript.ChangeDoorState();
                        FindObjectOfType <AudioManager>().Play("OpenDoor");
                    }
                    else
                    {
                        FindObjectOfType <AudioManager>().Play("LockedDoor");
                        if (!textIsOnScreen)
                        {
                            textIsOnScreen = true;
                            finalDoorText.SetActive(true);
                            StartCoroutine(WaitForSec());
                        }
                    }

                    Debug.Log("Colidi");
                    //player.ChangeCameraStateTrue();
                }
                else if (hit.collider.CompareTag("Key"))
                {
                    Inventory.keys[hit.collider.GetComponent <KeyScript>().index] = true;
                    if (!textIsOnScreen)
                    {
                        textIsOnScreen = true;
                        uiObject.SetActive(true);
                        StartCoroutine("WaitForSec");
                    }
                    //Debug.Log("ColidiCarai");
                    //Destroy(gameObject);
                    FindObjectOfType <AudioManager>().Play("GetKey");

                    KeyScript keyScript = hit.collider.transform.GetComponent <KeyScript>();
                    keyScript.DestroyKey();
                    keys++;
                }

                //Interactable intercactable = hit.collider.GetComponent<Interactable>();

                else if (hit.collider.CompareTag("AnimInteractable"))
                {
                    PlayAnimation animation = hit.collider.transform.GetComponent <PlayAnimation>();
                    animation.AnimPlay();
                    Debug.Log("TaFuncionando"); //Não ta funcionando ;-; T-T
                }

                else if (hit.collider.CompareTag("Sink") && isCarryingWater == false)
                {
                    if (waterIsWorking)
                    {
                        isCarryingWater = true;
                        Debug.Log("PEGUEI A AGUA");
                        if (!textIsOnScreen)
                        {
                            textIsOnScreen = true;
                            uiObject2.SetActive(true);
                            StartCoroutine("WaitForSec");
                        }
                        glassIcon.SetActive(true);
                        trigger2.SetActive(true);
                    }
                    else
                    {
                        if (!textIsOnScreen)
                        {
                            textIsOnScreen = true;
                            uiObject3.SetActive(true);
                            StartCoroutine("WaitForSec");
                        }
                    }
                }

                else if (hit.collider.CompareTag("Fire"))
                {
                    if (isCarryingWater == true)
                    {
                        FireScript fireParticles = hit.collider.transform.GetComponent <FireScript>();
                        fireParticles.DestroyFire();
                        Debug.Log("APAGUEI O FOGO");
                        glassIcon.SetActive(false);
                        xGlassIcon.SetActive(true);
                        fireplaceKey.SetActive(true);
                        isCarryingWater = false;
                    }

                    else
                    {
                        if (!textIsOnScreen)
                        {
                            textIsOnScreen = true;
                            text3.SetActive(true);
                            StartCoroutine("WaitForSec");
                        }
                    }
                }

                else if (hit.collider.CompareTag("Regulator") && waterIsWorking == false)
                {
                    waterIsWorking = true;
                    Debug.Log("LIGUEI O REGISTRO");
                    if (!textIsOnScreen)
                    {
                        textIsOnScreen = true;
                        text.SetActive(true);
                        StartCoroutine("WaitForSec");
                    }
                    kitchenTable.SetActive(true);
                    normalTable.SetActive(false);
                    kitchenWater.SetActive(true);
                    //PoisonedWaterScript blackWater = hit.collider.transform.GetComponent<PoisonedWaterScript>();
                    //blackWater.DestroyWater();
                    //Debug.Log("RIP AGUA DA MORTE");
                    //waterTankKey.SetActive(true);
                    //normalWater.SetActive(true);
                    //fallingWater.SetActive(true);
                }

                else if (hit.collider.CompareTag("PoisonedWater"))
                {
                    if (waterIsWorking)
                    {
                        PoisonedWaterScript blackWater = hit.collider.transform.GetComponent <PoisonedWaterScript>();
                        blackWater.DestroyWater();
                        Debug.Log("RIP AGUA DA MORTE");
                        waterTankKey.SetActive(true);
                        normalWater.SetActive(true);
                        fallingWater.SetActive(true);
                    }

                    else
                    {
                        if (!textIsOnScreen)
                        {
                            textIsOnScreen = true;
                            text2.SetActive(true);
                            StartCoroutine("WaitForSec");
                        }
                    }
                }

                else if (hit.collider.CompareTag("MovableFloor"))
                {
                    FloorScript floor = hit.collider.transform.GetComponent <FloorScript>();
                    floor.DestroyFloor();
                    //secretCompartmentKey.SetActive(true);
                }

                else if (hit.collider.CompareTag("Text"))
                {
                    PrintMessage text = hit.collider.transform.GetComponent <PrintMessage>();

                    if (!textIsOnScreen)
                    {
                        textIsOnScreen = true;
                        text.ShowText();
                        StartCoroutine(WaitForSec());
                    }
                    //text.TextOnScreen();
                }

                // if (hit.collider.gameObject.name == "Boiler")
                // {
                // boiler.SetActive(false);
                //}

                else if (hit.collider.CompareTag("RightDoor"))
                {
                    DoorScript doorScript = hit.collider.transform.parent.GetComponent <DoorScript>();

                    if (doorScript == null)
                    {
                        return;
                    }
                    else
                    {
                        doorScript.PuzzleDoor();
                        pm.canMove = false;
                        StartCoroutine(WrongDoorEvent());
                        FindObjectOfType <AudioManager>().Play("OpenDoor");
                        FindObjectOfType <AudioManager>().Play("Right");
                        doorScript.ChangeGroup();
                    }

                    //player.ChangeCameraStateTrue();
                }

                else if (hit.collider.CompareTag("WrongDoor"))
                {
                    DoorScript doorScript = hit.collider.transform.parent.GetComponent <DoorScript>();

                    if (doorScript == null)
                    {
                        return;
                    }
                    else
                    {
                        Debug.Log(pm.transform.position);
                        doorScript.PuzzleDoor();
                        pm.canMove = false;
                        StartCoroutine(WrongDoorEvent());
                        FindObjectOfType <AudioManager>().Play("OpenDoor");
                        FindObjectOfType <AudioManager>().Play("Wrong");
                        //pm.SetPlayerSpeed(5);
                    }

                    //player.ChangeCameraStateTrue();
                }

                else if (hit.collider.CompareTag("SoundPuzzle"))
                {
                    Inventory.soundPuzzleObjects[hit.collider.GetComponent <SoundPuzzleScript>().index] = true;

                    SoundPuzzleScript soundPuzzle = hit.collider.transform.GetComponent <SoundPuzzleScript>();
                    soundPuzzle.ActivateIcon();
                    soundPuzzle.AddIndex();
                    soundPuzzle.DestroyObject();
                    uiObject4.SetActive(true);
                    FindObjectOfType <AudioManager>().Play("GetKey");
                    StartCoroutine("WaitForSec");
                    // soundEmitter++;
                }

                else if (hit.collider.CompareTag("NoiseEmitter"))
                {
                    NoiseEmitterScript noiseEmitterScript = hit.collider.transform.GetComponent <NoiseEmitterScript>();

                    if (noiseEmitterScript == null)
                    {
                        return;
                    }


                    if (Inventory.soundPuzzleObjects[noiseEmitterScript.index] == true)
                    {
                        soundEmitter++;
                        noiseEmitterScript.ActivateObject();
                        print(soundEmitter);
                        FindObjectOfType <AudioManager>().Play("Right");
                    }
                }
                // =======================Xylophone========================

                if (hit.collider.name == "XyloA")
                {
                    FindObjectOfType <AudioManager>().Play("XyloA");
                }

                if (hit.collider.name == "XyloB")
                {
                    FindObjectOfType <AudioManager>().Play("XyloB");
                }

                if (hit.collider.name == "XyloC")
                {
                    FindObjectOfType <AudioManager>().Play("XyloC");
                }

                if (hit.collider.name == "XyloD")
                {
                    FindObjectOfType <AudioManager>().Play("XyloD");
                }

                if (hit.collider.name == "XyloE")
                {
                    FindObjectOfType <AudioManager>().Play("XyloE");
                }

                if (hit.collider.name == "XyloF")
                {
                    FindObjectOfType <AudioManager>().Play("XyloF");
                }

                if (hit.collider.name == "XyloG")
                {
                    FindObjectOfType <AudioManager>().Play("XyloG");
                }
            }
        }

        if (soundEmitter == 4)
        {
            painting.SetActive(true);
        }
    }
Beispiel #15
0
 // Use this for initialization
 void Awake()
 {
     defaultScale = transform.localScale;
     animator     = GetComponentInChildren <Animator>();
     fireScript   = GetComponent <FireScript>();
 }
Beispiel #16
0
    public WorldData(ControllerScript controller)
    {
        time = controller.time;
        ambientTemperature = controller.ambientTemperature;
        playerTemperature  = controller.playerTemperature;
        currentSeason      = controller.currentSeason;
        currentDay         = controller.currentDay;
        currentDayInSeason = controller.currentDayInSeason;
        health             = controller.playerInventoryScript.GetComponent <PlayerScript> ().health;
        hunger             = controller.playerInventoryScript.GetComponent <PlayerScript> ().hunger;
        happiness          = controller.playerInventoryScript.GetComponent <PlayerScript> ().happiness;

        droppedItems   = new SaveSystem.MyDroppedItem[controller.GetComponent <SaveSystemScript>().items.Length];
        terrains       = new SaveSystem.MyTerrain[controller.GetComponent <SaveSystemScript> ().terrains.Length];
        buildings      = new SaveSystem.Buildings.BasicBuildingSaveProperties[controller.GetComponent <SaveSystemScript>().buildings.Length];
        mobs           = new SaveSystem.Mobs.BasicMobAttributes[controller.GetComponent <SaveSystemScript>().mobs.Length];
        playerPosition = new MyVector3(controller.playerInventoryScript.transform.position);

        playerInventory = new SerializedInventoryItem[controller.playerInventoryScript.playerInventory.Length];
        for (int i = 0; i < playerInventory.Length; i++)
        {
            playerInventory [i] = controller.playerInventoryScript.playerInventory [i].convertToSave();
        }
        for (int i = 0; i < droppedItems.Length; i++)
        {
            if (controller.GetComponent <SaveSystemScript> ().items [i] != null)
            {
                droppedItems [i] = new SaveSystem.MyDroppedItem(controller.GetComponent <SaveSystemScript> ().items [i].transform.GetChild(0).GetComponent <DroppedItemScript> ().myValue.name, controller.GetComponent <SaveSystemScript> ().items [i].transform.GetChild(0).GetComponent <DroppedItemScript> ().myValue.quantity, new MyVector3(controller.GetComponent <SaveSystemScript> ().items [i].transform.position));
            }
        }

        for (int i = 0; i < terrains.Length; i++)
        {
            if (controller.GetComponent <SaveSystemScript> ().terrains [i] != null)
            {
                GameObject terrain = controller.GetComponent <SaveSystemScript> ().terrains [i];
                terrains [i] = new SaveSystem.MyTerrain(terrain.GetComponent <TerrainScript> ().terrainName, terrain.transform.position);
            }
        }
        for (int i = 0; i < mobs.Length; i++)
        {
            if (controller.GetComponent <SaveSystemScript> ().mobs [i] != null)
            {
                GameObject mob = controller.GetComponent <SaveSystemScript> ().mobs [i];
                if (mob.GetComponent <PassiveFourLegs> () != null)
                {
                    mobs [i] = new SaveSystem.Mobs.BasicMobAttributes(mob.GetComponent <PassiveFourLegs>().mobName, mob.GetComponent <PassiveFourLegs> ().health, mob.GetComponent <PassiveFourLegs> ().maxHealth, mob.transform.position, mob.transform.eulerAngles);
                }
                else if (mob.GetComponent <Sheep> () != null)
                {
                    mobs [i] = new SaveSystem.Mobs.Sheep(mob.GetComponent <Sheep>().mobName, mob.GetComponent <Sheep> ().health, mob.GetComponent <Sheep> ().maxHealth, mob.transform.position, mob.transform.eulerAngles);
                }
            }
        }
        for (int i = 0; i < buildings.Length; i++)
        {
            if (controller.GetComponent <SaveSystemScript> ().buildings [i] != null)
            {
                GameObject building = controller.GetComponent <SaveSystemScript> ().buildings [i];

                TreeScript       treeScript        = null;
                BoulderScript    boulderScript     = null;
                GrassScript      grassScript       = null;
                BushScript       bushScript        = null;
                BerryBushScript  berryBushScript   = null;
                FireScript       fireScript        = null;
                GroundFoodScript naturalFoodScript = null;

                if (building.GetComponent <TreeScript> () != null)
                {
                    treeScript = building.GetComponent <TreeScript> ();
                }
                if (building.GetComponent <BoulderScript> () != null)
                {
                    boulderScript = building.GetComponent <BoulderScript> ();
                }
                if (building.GetComponent <GrassScript> () != null)
                {
                    grassScript = building.GetComponent <GrassScript> ();
                }
                if (building.GetComponent <BushScript> () != null)
                {
                    bushScript = building.GetComponent <BushScript> ();
                }
                if (building.GetComponent <BerryBushScript> () != null)
                {
                    berryBushScript = building.GetComponent <BerryBushScript> ();
                }
                if (building.GetComponent <FireScript> () != null)
                {
                    fireScript = building.GetComponent <FireScript> ();
                }
                if (building.GetComponent <GroundFoodScript> () != null)
                {
                    naturalFoodScript = building.GetComponent <GroundFoodScript> ();
                }

                if (treeScript != null || boulderScript != null)
                {
                    //natural barriers
                    if (treeScript != null)
                    {
                        buildings [i] = new SaveSystem.Buildings.NaturalBarriers("tree", treeScript.transform.position, treeScript.transform.eulerAngles, treeScript.health);
                    }
                    else if (boulderScript != null)
                    {
                        buildings [i] = new SaveSystem.Buildings.NaturalBarriers("boulder", boulderScript.transform.position, boulderScript.transform.eulerAngles, boulderScript.health);
                    }
                }
                else if (grassScript != null || bushScript != null || berryBushScript != null)
                {
                    if (grassScript != null)
                    {
                        buildings [i] = new SaveSystem.Buildings.NaturalCrops("grassPatch", grassScript.transform.position, grassScript.transform.eulerAngles, grassScript.cut, grassScript.growTimer);
                    }
                    if (bushScript != null)
                    {
                        buildings [i] = new SaveSystem.Buildings.NaturalCrops("bush", bushScript.transform.position, bushScript.transform.eulerAngles, bushScript.cut, bushScript.growTimer);
                    }
                    else if (berryBushScript != null)
                    {
                        buildings [i] = new SaveSystem.Buildings.NaturalCrops("berryBush", berryBushScript.transform.position, berryBushScript.transform.eulerAngles, berryBushScript.cut, berryBushScript.growTimer);
                    }
                }
                else if (fireScript != null)
                {
                    buildings [i] = new SaveSystem.Buildings.Campfire("campfire", fireScript.transform.position, fireScript.transform.eulerAngles, fireScript.fuel);
                }
                else if (naturalFoodScript != null)
                {
                    buildings [i] = new SaveSystem.Buildings.BasicBuildingSaveProperties(naturalFoodScript.buildingIDName, naturalFoodScript.transform.position, naturalFoodScript.transform.eulerAngles);
                }
            }
        }
    }
Beispiel #17
0
 // Add/remove fires + NPCs
 public void AddFireScript(FireScript f)
 {
     fireList.Add(f);
 }
Beispiel #18
0
 public void RemoveFireScript(FireScript f)
 {
     fireList.Remove(f);
 }
    //private void FixedUpdate()
    //{
    //       if (levelPassed){
    //           Debug.Log("Level Passed");
    //       }
    //}
    private void OnTriggerEnter2D(Collider2D collision)
    {
        // If the collision object is a gem, picks it up and marks the
        // gem boolean as true.
        GemScript gem = collision.gameObject.GetComponent <GemScript>();

        if (gem != null)
        {
            power_acquired = true;
            Animator goalAni = goal.GetComponent <Animator>();
            if (goalAni != null)
            {
                goalAni.SetBool("goalReached", true);
            }
            // TODO implement what happens when power_acquired is true.
            Destroy(gem.gameObject);
        }

        // If the player touches the goal, first check if player has the gem
        // If the player has the gem, then level is cleared.
        // If not, then throw some kind of message to remind player to pick
        // up the gem.
        GoalScript goal1 = collision.gameObject.GetComponent <GoalScript>();

        if (goal1 != null)
        {
            if (power_acquired)
            {
                Collider2D goalCol = goal.GetComponent <Collider2D>();
                // TODO Player animation of goal reached
                levelPassed     = true;
                goalCol.enabled = false;
            }
        }

        // If the player touches hell fire before the player successfully
        // kills it with water, the player dies. Instantly.
        FireScript fire = collision.gameObject.GetComponent <FireScript>();

        if (fire != null)
        {
            GetComponent <HealthScript>()
            .Damage(GetComponent <HealthScript>().hp);
            foreach (GameObject heart in hearts)
            {
                if (heart != null)
                {
                    Destroy(heart);
                }
            }
        }

        // Checks if the player bumps into an enemy and reduces hp for both
        // sides accordingly.
        bool        damagePlayer = false;
        EnemyScript enemy        = collision.gameObject.GetComponent <EnemyScript>();

        if (enemy != null)
        {
            HealthScript enemyHealth = enemy.GetComponent <HealthScript>();
            if (enemyHealth != null)
            {
                enemyHealth.Damage(1);
            }
            damagePlayer = true;
        }

        if (damagePlayer)
        {
            HealthScript playerHealth = this.GetComponent <HealthScript>();
            if (playerHealth != null)
            {
                playerHealth.Damage(1);

                // Destroys one heart if player is damaged by 1.
                Destroy(hearts[playerHealth.hp]);
            }
        }
    }
Beispiel #20
0
 void Awake()
 {
     Instance = this;
 }