public override void CheckState()
    {
        base.CheckState();

        dialogTrigger.SetActive(false);
        talkerSphereHandler.gameObject.SetActive(false);

        if (GameDataKeeper.GetSingleton().currentProcess == GameMainProcessState.AimFor_WinterRoad)
        {
            dialogTrigger.SetActive(true);
            dialogTrigger.GetComponent <PassiveActivtor>().targetObj = GameObject.Find("Dialog_WinterSpriteFirst").GetComponent <DialogHandlerWithCameraMovement>();
        }

        if (GameDataKeeper.GetSingleton().currentProcess == GameMainProcessState.Battle_WinterSprite)
        {
            TriggerEvent(targetEnemysToGo, "Activate");
            transform.GetChild(0).GetComponent <ParticleSystem>().Stop();
        }
        else
        {
            transform.GetChild(0).GetComponent <ParticleSystem>().Play();
        }

        if (GameDataKeeper.GetSingleton().currentProcess == GameMainProcessState.Solved_WinterSprite)
        {
            talkerSphereHandler.gameObject.SetActive(true);
        }
    }
Пример #2
0
 public virtual void OnDisabled()
 {
     if (saveableName != null)
     {
         GameDataKeeper.GetSingleton().SetObjectState(saveableName, false);
     }
 }
Пример #3
0
    protected override void OnDeath(float damage, Vector3 dirc, eObject sourceDoDamage)
    {
        base.OnDeath(damage, dirc, sourceDoDamage);

        float manaPercentage = GameDataKeeper.GetSingleton().currentMagic / GameDataKeeper.GetSingleton().maxMagic;
        float goldAmount     = (0.5f + 0.5f * manaPercentage) * goldAmountMax * Random.Range(0.7f, 1.0f);
        float manaAmount     = (1.0f - manaPercentage) * manaAmountMax * Random.Range(0.6f, 1.0f);
        float healthAmount   = (1.0f - (GameDataKeeper.GetSingleton().currentHealth / GameDataKeeper.GetSingleton().maxHealth)) * healthAmountMax * Random.Range(0.5f, 1.0f);

        for (int i = 0; i < goldAmount; i++)
        {
            Vector2    dircHor = Random.insideUnitCircle;
            Vector3    dircObj = new Vector3(dircHor.x, Random.Range(0.8f, 1.2f), dircHor.y).normalized;
            GameObject obj     = Instantiate(goldItem, transform.position + dircObj * 0.5f, Quaternion.identity);
            obj.GetComponent <Rigidbody>().AddForce(dircObj * 200.0f);
        }

        for (int i = 0; i < manaAmount; i++)
        {
            Vector2    dircHor = Random.insideUnitCircle;
            Vector3    dircObj = new Vector3(dircHor.x, Random.Range(0.8f, 1.2f), dircHor.y).normalized;
            GameObject obj     = Instantiate(manaItem, transform.position + dircObj * 0.5f, Quaternion.identity);
            obj.GetComponent <Rigidbody>().AddForce(dircObj * 200.0f);
        }

        for (int i = 0; i < healthAmount; i++)
        {
            Vector2    dircHor = Random.insideUnitCircle;
            Vector3    dircObj = new Vector3(dircHor.x, Random.Range(0.8f, 1.2f), dircHor.y).normalized;
            GameObject obj     = Instantiate(healthItem, transform.position + dircObj * 0.5f, Quaternion.identity);
            obj.GetComponent <Rigidbody>().AddForce(dircObj * 200.0f);
        }
    }
Пример #4
0
    // Use this for initialization
    void Start()
    {
        health = maxHealth;

        SetState("player");

        maxSpeed = baseMaxSpeed;

        m_controller = gameObject.GetComponent <CharacterController>();

        cameraCtrl = GameObject.Find("CameraController").GetComponent <CameraController>();
        cameraCtrl.transform.rotation = transform.rotation;
        qSlime = Quaternion.Euler(0, transform.eulerAngles.y, 0);

        m_UIController = GameObject.Find("UIController").GetComponent <UIController>();

        m_collector = GetComponentInChildren <Collector>();

        m_dataKeeper = GameDataKeeper.GetSingleton();

        SwitchForm(m_dataKeeper.currentForm);

        autumnOpened = false;
        autumnObject.SetActive(false);
    }
Пример #5
0
    public override void CheckState()
    {
        base.CheckState();

        switch (GameDataKeeper.GetSingleton().currentProcess)
        {
        case GameMainProcessState.AimFor_AutumnShrine:
            if (m_talkerSphere)
            {
                m_talkerSphere.passageName      = "AutumnShrine_RiverMiko_Welcome";
                m_talkerSphere.passageNameAgain = "AutumnShrine_RiverMiko_Welcome";
            }
            break;

        case GameMainProcessState.AutumnShrine_FindItem:
            if (m_talkerSphere)
            {
                m_talkerSphere.passageName      = "AutumnShrine_RiverMiko_Calmdown";
                m_talkerSphere.passageNameAgain = "AutumnShrine_RiverMiko_Calmdown";
            }
            break;

        case GameMainProcessState.AimFor_SummerGreatTree:
            gameObject.SetActive(false);
            break;

        default:
            break;
        }
    }
    public override void CheckState()
    {
        base.CheckState();

        if (GameDataKeeper.GetSingleton().currentProcess < GameMainProcessState.AutumnShrine_GoMeetAutumn)
        {
            ps.Stop();
            ps.Clear();
        }
        else
        {
            ps.Play();
        }

        switch (GameDataKeeper.GetSingleton().currentProcess)
        {
        case GameMainProcessState.AutumnShrine_GoMeetAutumn:
            ((DialogHandlerWithCameraMovement)(m_talkerSphereHandler.handler)).passageName    = "AutumnShrine_AutumnSprite";
            ((DialogHandlerWithCameraMovement)(m_talkerSphereHandler.handler)).state_changeTo = GameMainProcessState.AimFor_SummerGreatTree_After;
            break;

        case GameMainProcessState.AimFor_SummerGreatTree_After:
            ((DialogHandlerWithCameraMovement)(m_talkerSphereHandler.handler)).passageName    = "AutumnShrine_AutumnSprite_After";
            ((DialogHandlerWithCameraMovement)(m_talkerSphereHandler.handler)).state_changeTo = GameMainProcessState.None;
            break;
        }
    }
Пример #7
0
    private void OnGUI()
    {
        switchForm(GameDataKeeper.GetSingleton().currentForm);
        setCrystalCount(GameDataKeeper.GetSingleton().crystalCount);
        setHealth((int)GameDataKeeper.GetSingleton().currentHealth);
        setMana((int)GameDataKeeper.GetSingleton().currentMagic);
        setGold(GameDataKeeper.GetSingleton().currentGold);

        //TEST ONLY TEST ONLY TEST ONLY
        if (timer < 0)
        {
            timer = 0;
        }

        timerShower.text = "Timer: " + timer;
        //TEST ONLY TEST ONLY TEST ONLY

        blackScreen.canvasRenderer.SetAlpha(blackRatio);
        if (blackRatio == 0.0f && isBlackScreenOn == false)
        {
            blackScreen.gameObject.SetActive(false);
        }

        //Update Log Text
        mainQuestLogText.text = "主要目标:\n    <size=15>" + mainQuestLogHint[(int)GameDataKeeper.GetSingleton().currentProcess] + "</size>";

        //Update shortcut box
        shortcut1.GetComponent <ItemBox>().m_class = GameDataKeeper.GetSingleton().itemOnKey[0];
        shortcut2.GetComponent <ItemBox>().m_class = GameDataKeeper.GetSingleton().itemOnKey[1];
        shortcut3.GetComponent <ItemBox>().m_class = GameDataKeeper.GetSingleton().itemOnKey[2];
    }
Пример #8
0
 public virtual void OnActivated()
 {
     if (saveableName != null)
     {
         GameDataKeeper.GetSingleton().SetObjectState(saveableName, true);
     }
 }
Пример #9
0
    public override void CheckState()
    {
        base.CheckState();

        switch (GameDataKeeper.GetSingleton().currentProcess)
        {
        case GameMainProcessState.AimFor_AutumnShrine:
            ((DialogHandlerWithCameraMovement)(m_talkerSphereHandler.handler)).passageName    = "AutumnShrine_DaimikoSama_FirstImpression";
            ((DialogHandlerWithCameraMovement)(m_talkerSphereHandler.handler)).state_changeTo = GameMainProcessState.AutumnShrine_FindItem;
            break;

        case GameMainProcessState.AutumnShrine_FindItem:
            ((DialogHandlerWithCameraMovement)(m_talkerSphereHandler.handler)).passageName    = "AutumnShrine_DaimikoSama_Calmdown";
            ((DialogHandlerWithCameraMovement)(m_talkerSphereHandler.handler)).state_changeTo = GameMainProcessState.None;
            break;

        case GameMainProcessState.AutumnShrine_ItemFoundALL:
            ((DialogHandlerWithCameraMovement)(m_talkerSphereHandler.handler)).passageName    = "AutumnShrine_DaimikoSama_ItemFoundALL";
            ((DialogHandlerWithCameraMovement)(m_talkerSphereHandler.handler)).state_changeTo = GameMainProcessState.AutumnShrine_GoMeetAutumn;
            break;

        case GameMainProcessState.AutumnShrine_GoMeetAutumn:
            ((DialogHandlerWithCameraMovement)(m_talkerSphereHandler.handler)).passageName    = "AutumnShrine_GO!FOR!AUTUMN!";
            ((DialogHandlerWithCameraMovement)(m_talkerSphereHandler.handler)).state_changeTo = GameMainProcessState.None;
            break;

        case GameMainProcessState.AimFor_SummerGreatTree_After:
            ((DialogHandlerWithCameraMovement)(m_talkerSphereHandler.handler)).passageName    = "AutumnShrine_DaimikoSama_GoodBye";
            ((DialogHandlerWithCameraMovement)(m_talkerSphereHandler.handler)).state_changeTo = GameMainProcessState.None;
            break;
        }
    }
Пример #10
0
    void SelectEquipment(EquipmentClass selected)
    {
        if (selected == GameDataKeeper.GetSingleton().currentEquipment)
        {
            btn_dismount.gameObject.SetActive(true);
        }
        else
        {
            btn_dismount.gameObject.SetActive(false);
        }

        m_currentSelected = selected;

        if (GameDataKeeper.GetSingleton().equipmentExist[(int)m_currentSelected])
        {
            text_equipmentName.text = equipmentNames[(int)m_currentSelected];
            text_equipmentDesc.text = equipmentDescs[(int)m_currentSelected];
            btn_equip.gameObject.SetActive(true);
        }
        else
        {
            text_equipmentName.text = "???";
            text_equipmentDesc.text = equipmentHints[(int)m_currentSelected];
            btn_equip.gameObject.SetActive(false);
        }
    }
Пример #11
0
    // Update is called once per frame
    void Update()
    {
        if (GameDataKeeper.GetSingleton().itemCount[(int)m_class] > 0 || (!isInv))
        {
            Enable();
            if (isInv)
            {
                if (m_class <= ItemClass.ActivateCrystal)
                {
                    m_stackCount.gameObject.SetActive(false);
                }
                else
                {
                    m_stackCount.text = GameDataKeeper.GetSingleton().itemCount[(int)m_class].ToString();
                }
            }
            else
            {
                m_stackCount.text = GameDataKeeper.GetSingleton().itemCount[(int)m_class].ToString();

                if (m_class == ItemClass.None)
                {
                    m_stackCount.gameObject.SetActive(false);
                }
                else
                {
                    m_stackCount.gameObject.SetActive(true);
                }
            }
        }
        else
        {
            Disable();
        }
    }
Пример #12
0
 public static GameDataKeeper GetSingleton()
 {
     if (singleton == null)
     {
         singleton = new GameDataKeeper();
     }
     return(singleton);
 }
Пример #13
0
    public override void CheckState()
    {
        base.CheckState();

        if (GameDataKeeper.GetSingleton().currentProcess != GameMainProcessState.Tutorial_Finished)
        {
        }
    }
Пример #14
0
 void OnGUI()
 {
     if (GameDataKeeper.GetSingleton().currentForm == SlimeForm.Summer)
     {
         Rect rect = new Rect(Screen.width * 0.5f - 10f, Screen.height * 0.47f - 10f, 20f, 20f);
         GUI.DrawTexture(rect, aim);
     }
 }
Пример #15
0
 // Use this for initialization
 void Start()
 {
     if (repeatable == false && GameDataKeeper.GetSingleton().GetObjectState(uniqueName) == true)
     {
         //Destroy this cuz it has been already picked up.
         Destroy(gameObject, 0.05f);
     }
     SetState("CollectableObject");
 }
Пример #16
0
    private void TransportTo(string sceneName)
    {
        GameDataKeeper.GetSingleton().prevSceneName   = SceneManager.GetActiveScene().name;
        GameDataKeeper.GetSingleton().targetSceneName = sceneName;

        Debug.Log(GameDataKeeper.GetSingleton().prevSceneName + "->" + GameDataKeeper.GetSingleton().targetSceneName);

        SceneManager.LoadScene("LoadingScene");
    }
Пример #17
0
    public override void CheckState()
    {
        base.CheckState();

        if (!(GameDataKeeper.GetSingleton().currentProcess == GameMainProcessState.Tutorial_Finished ||
              GameDataKeeper.GetSingleton().currentProcess == GameMainProcessState.GoingBackToVillage_WithSpringSprite))
        {
            gameObject.SetActive(false);
        }
    }
Пример #18
0
    public override void OnSignalRecieved(eObject source, string[] signal)
    {
        base.OnSignalRecieved(source, signal);

        switch (signal[0])
        {
        case "Activate":
            GameDataKeeper.GetSingleton().SetMainProcess(targetState);
            break;
        }
    }
Пример #19
0
    public override void CheckState()
    {
        base.CheckState();

        if (GameDataKeeper.GetSingleton().currentProcess == GameMainProcessState.NewStart_Tutorial)
        {
            dialogHandler.TriggerEvent(dialogHandler, "Activate");

            GameObject.Find("UIController").GetComponent <UIController>().BlackScreenOn();
        }
    }
Пример #20
0
 // Update is called once per frame
 void Update()
 {
     if (GameDataKeeper.GetSingleton().equipmentExist[(int)m_class])
     {
         //TODO
     }
     else
     {
         //TODO
     }
 }
Пример #21
0
    // Use this for initialization
    void Start()
    {
        if (GameDataKeeper.GetSingleton().prevSceneName.Equals(pointName))
        {
            GameObject.FindGameObjectWithTag("Player").transform.position = transform.position;
            GameObject.FindGameObjectWithTag("Player").transform.rotation = transform.rotation;

            Debug.Log(GameObject.FindGameObjectWithTag("Player").transform.eulerAngles);

            GameObject.Find("CameraController").transform.rotation = transform.rotation;
        }
    }
Пример #22
0
 // Use this for initialization
 protected virtual void Start()
 {
     if (saveableName != null)
     {
         activated = GameDataKeeper.GetSingleton().GetObjectState(saveableName);
         if (activated)
         {
             TriggerEvent(this, "Activate");
         }
         else
         {
             TriggerEvent(this, "Disable");
         }
     }
 }
Пример #23
0
    public void AutumnOpen()
    {
        if (GameDataKeeper.GetSingleton().currentForm == SlimeForm.Autumn)
        {
            autumnOpened = true;
            autumnObject.SetActive(true);
            autumnObject.transform.localScale = new Vector3(0.2f, 0.1f, 0.2f);

            //give slime a "floating" force.
            if (inWind == true)
            {
                fallSpeed = -4;
            }
        }
    }
    public override void CheckState()
    {
        base.CheckState();

        if (GameDataKeeper.GetSingleton().currentProcess >= targetState)
        {
            foreach (GameObject obj in objectList)
            {
                if (obj)
                {
                    obj.SetActive(false);
                }
            }
        }
    }
Пример #25
0
    public override void CheckState()
    {
        base.CheckState();

        gameObject.SetActive(false);

        if (GameDataKeeper.GetSingleton().currentProcess == GameMainProcessState.Tutorial_Finished)
        {
            gameObject.SetActive(true);
        }
        if (GameDataKeeper.GetSingleton().currentProcess == GameMainProcessState.Solved_SummerGreatTree)
        {
            gameObject.SetActive(true);
        }
    }
Пример #26
0
    public override void CheckState()
    {
        base.CheckState();

        if (GameDataKeeper.GetSingleton().itemCount[(int)ItemClass.ActivateCrystal] >= 1)
        {
            m_talkerSphere.passageName      = "SummerForest2_Elevator_HasKey";
            m_talkerSphere.passageNameAgain = "SummerForest2_Elevator_HasKey";
        }
        else
        {
            m_talkerSphere.passageName      = "SummerForest2_Elevator_NoKey";
            m_talkerSphere.passageNameAgain = "SummerForest2_Elevator_NoKey";
        }
    }
Пример #27
0
    public override void OnSignalRecieved(eObject source, string[] signal)
    {
        base.OnSignalRecieved(source, signal);

        switch (signal[0])
        {
        case "pickUp":
            if (repeatable == false)
            {
                GameDataKeeper.GetSingleton().SetObjectState(uniqueName, true);
            }
            TriggerEvent(source, "picked " + objectName);
            GetComponent <Renderer>().enabled = false;
            Destroy(gameObject, 0.1f);
            break;
        }
    }
Пример #28
0
 public void BuyCurrent()
 {
     if (GameDataKeeper.GetSingleton().UseGold(items[m_place, m_currentSelected].price))
     {
         if (items[m_place, m_currentSelected].isItem)
         {
             GameDataKeeper.GetSingleton().itemCount[(int)items[m_place, m_currentSelected].itemClass]++;
         }
         else
         {
             GameDataKeeper.GetSingleton().equipmentExist[(int)items[m_place, m_currentSelected].equipmentClass] = true;
         }
     }
     else
     {
         //TODO: not enough money
     }
 }
Пример #29
0
    // Use this for initialization
    void Start()
    {
        blackScreen.enabled = true;
        blackScreen.gameObject.SetActive(false);

        gameMenu.SetActive(false);

        HideBossBar();

        //shortcuts should not disappear
        shortcut1.IsNotInv();
        shortcut2.IsNotInv();
        shortcut3.IsNotInv();

        //Register events for item shortcuts
        shortcut1.GetComponent <Button>().onClick.AddListener(() => { GameDataKeeper.GetSingleton().UseItem(shortcut1.m_class); });
        shortcut2.GetComponent <Button>().onClick.AddListener(() => { GameDataKeeper.GetSingleton().UseItem(shortcut2.m_class); });
        shortcut3.GetComponent <Button>().onClick.AddListener(() => { GameDataKeeper.GetSingleton().UseItem(shortcut3.m_class); });
    }
Пример #30
0
    public override void CheckState()
    {
        base.CheckState();

        if (GameDataKeeper.GetSingleton().currentProcess < GameMainProcessState.SummerGreatTree_TP1)
        {
            m_sphere.handler = handlers[0];
        }
        else if (GameDataKeeper.GetSingleton().currentProcess == GameMainProcessState.SummerGreatTree_TP1)
        {
            m_sphere.handler = handlers[1];
        }
        else if (GameDataKeeper.GetSingleton().currentProcess == GameMainProcessState.SummerGreatTree_TP2)
        {
            m_sphere.handler = handlers[2];
        }
        else if (GameDataKeeper.GetSingleton().currentProcess >= GameMainProcessState.SummerGreatTree_TP3)
        {
            m_sphere.handler = handlers[3];
        }
    }