/// <summary>
 /// Устанавливает состояние для элемента.
 /// </summary>
 /// <param name="newState">Новое состояние</param>
 /// <returns>true - состояние изменилось, false - состояние не изменилось</returns>
 private bool SetState(SelectStates newState)
 {
     if (SelectState != newState)
     {
         m_SelectState = newState;
         Raise_StateChanged();
         return(true);
     }
     return(false);
 }
 /// <summary>
 /// Устанавливает дочерние элументы в указанное состояние
 /// </summary>
 /// <param name="state">Новое состояние</param>
 /// <param name="recursive">true - процесс идет рекурсивно; false - процесс идет пока меняется состояние</param>
 private void Raise_SetChildrenState(SelectStates state, bool recursive)
 {
     if (Children != null)
     {
         foreach (OlapMemberInfo memberInfo in Children.Values)
         {
             memberInfo.SetChildrenState(state, recursive);
         }
     }
 }
Exemple #3
0
    public void Reset()
    {
        DayTime = 0;

        DayScene.MaxAccelerant    = GlobalDataScript.MaxAccelerant;
        DayScene.AccelerantInHand = GlobalDataScript.AccelerantInHand;
        DayScene.MaxHealth        = GlobalDataScript.MaxHealth;
        DayScene.MeleeWeaponDmg   = GlobalDataScript.MeleeWeaponDmg;
        DayScene.RangeWeaponDmg   = GlobalDataScript.RangeWeaponDmg;
        Day = GlobalDataScript.Day;


        this.canvases[3].GetComponentInChildren <Text>().text = "" + "\tMagic Circle Max Health: " + DayScene.MaxHealth + "\n\tHeart Pouches: " + DayScene.MaxAccelerant +
                                                                "\n\tSacrificial Hearts: " + DayScene.AccelerantInHand + "\n\tMelee Attack: " + DayScene.MeleeWeaponDmg + "\n\tRanged Attack: " + DayScene.RangeWeaponDmg;
        SpeedBonus = (TimeinaDay - DayScene.DayTime) * 10;


        this.canvases[4].GetComponentInChildren <Text>().text = "Rest Until Dawn\n(Gain Temporary " + DayScene.SpeedBonus + "% Speed Bonus)";
        SelectPanel.SetActive(true);
        SelectorIcon.SetActive(true);
        texts[0].text                       = " Day " + (Day + 1) + " -- " + (TimeinaDay - DayTime) + " Hours Until Nightfall";;
        SelectPossible                      = true;
        SelectState                         = SelectStates.Displaying;
        SelectedPanelNumber                 = 0;
        FadeCanvasStartingColor             = new Color32(0, 0, 0, 0);
        StartBackgroundColor                = new Color32(129, 218, 255, 251);
        EndBackgroundColor                  = new Color32(45, 79, 119, 255);
        FadeCanvasEndingColor               = new Color32(0, 0, 0, 255);
        SelectPanel.transform.localPosition = canvases[0].transform.localPosition;
        BackUpPanel.transform.localPosition = new Vector3(canvases[0].transform.localPosition.x, canvases[0].transform.localPosition.y - (BackUpPanel.GetComponent <RectTransform>().rect.height / 2) - (canvases[0].GetComponent <RectTransform>().rect.height / 4), canvases[0].transform.localPosition.z);
        CanvasHoverState                    = CanvasHoverStates.GoingUp;
        CanvasHoverStartingY                = canvases[0].transform.localPosition.y;
        CanvasHoverEndingY                  = CanvasHoverStartingY + (canvases[0].GetComponent <RectTransform>().rect.height / 15);
        Egg.GetComponent <Image>().sprite   = eggSprites[Day];
        EggStart               = Egg.transform.localPosition;
        EggWiggle              = new Vector3(EggStart.x + Random.Range(-2f, 2f), EggStart.y + Random.Range(-1f, 1f), EggStart.z);
        EggPriorLocation       = EggStart;
        EggWiggling            = false;
        FinalTransition        = false;
        FinalTransitionTimer   = 0.0f;
        LagFinalTransitionTime = 2.5f;
        ObjectFinalTransitionXoffset.Clear();
        ObjectFinalTransitionYoffset.Clear();
        canvases[6].GetComponent <Image>().color = FadeCanvasStartingColor;
        LERPtimer = 0;

        for (int x = 0; x < ObjectsMovingInFinalTransition.Length; x++)
        {
            ObjectFinalTransitionXoffset.Add(0f);
            ObjectFinalTransitionYoffset.Add(0f);
            FinalTransitionOffset(x);
        }
    }
        /// <summary>
        /// Устанавливает дочерние элументы в указанное состояние
        /// </summary>
        /// <param name="state">Новое состояние</param>
        /// <param name="recursive">true - процесс идет рекурсивно; false - процесс идет пока меняется состояние</param>
        protected void SetChildrenState(SelectStates state, bool recursive)
        {
            bool changed = SetState(state);

            if (recursive)
            {
                Raise_SetChildrenState(state, recursive);
            }
            else
            {
                if (changed)
                {
                    Raise_SetChildrenState(state, recursive);
                }
            }
        }
Exemple #5
0
    // Use this for initialization
    void Start()
    {
        p = SelectStates.selecting;
        //角色按钮
        string     name = "role" + roleNum.ToString();
        GameObject role = GameObject.Find(name);

        Rbtn = role.GetComponent <Button>();
        raw  = Rbtn.gameObject.GetComponent <Image> ().sprite;
        //选择按钮
        GameObject Select = GameObject.Find("Select");
        Button     Sbtn   = Select.GetComponent <Button>();

        Sbtn.onClick.AddListener(delegate()
        {
            RIS.player = 0;
            //当被选择是才playnum++
            if (p == SelectStates.selected)
            {
                Rbtn.enabled = false;
                Debug.Log(RIS.playerNum);
                RIS.cachImage(roleNum);
            }
            if (RIS.playerNum == 2)
            {
                this.GoNextScene(Select);
            }
        });
        Rbtn.onClick.AddListener(delegate()
        {
            Debug.Log(123);
            if (p == SelectStates.selecting && RIS.player == 0)
            {
                Rbtn.gameObject.GetComponent <Image>().sprite = replace;
                p = SelectStates.selected;
                RIS.showRoleIntro(roleNum);                          //显示简介
            }
            else if (p == SelectStates.selected && RIS.player == 1)
            {
                Rbtn.gameObject.GetComponent <Image>().sprite = raw;
                p = SelectStates.selecting;
                RIS.showRoleIntro(roleNum);                          //显示简介
                RIS.player = 0;
            }
        });
    }
    public static void ToggleTargetSelection()
    {
        switch (selectState)
        {
        case SelectStates.SELECT_SOURCE:
            Debug.Log("selecting TARGET");
            selectState = SelectStates.SELECT_TARGET;
            break;

        case SelectStates.SELECT_TARGET:
            Debug.Log("selecting SOURCE");
            selectState = SelectStates.SELECT_SOURCE;
            break;

        default:
            Debug.Log("ERROR invalid selectState");
            break;
        }
    }
        /// <summary>
        /// Переводит дынный OlapMemberInfo в новое состояние
        /// </summary>
        public void SetNewState(SelectStates newState)
        {
            if (newState == SelectStates.Selected_Self && AllChildrenIsSelected)
            {
                //Устанавливаем в новое состояние
                SetState(SelectStates.Selected_With_Children);
            }
            else
            {
                //Устанавливаем в новое состояние
                SetState(newState);
            }

            //Сообщаем дочерним узлам о том, что родительский элемент изменил свое состояние
            Raise_ParentSelectStateChanged(this);

            //Сообщаем родительскому узлу о том, что дочерний элемент изменил свое состояние
            Raise_ChildSelectStateChanged(this);

            Raise_HierarchyStateChanged(this);
        }
Exemple #8
0
    void Update()
    {
        if (IntroFading)
        {
            FinalTransitionTimer += Time.deltaTime;
            if (FinalTransitionTimer >= LagFinalTransitionTime)
            {
                IntroFading          = false;
                FinalTransitionTimer = 0.0f;
            }
            else
            {
                canvases[10].GetComponent <Image>().color = Color32.Lerp(new Color32(255, 255, 255, 255), new Color32(255, 255, 255, 0), FinalTransitionTimer / (LagFinalTransitionTime - 1f));
            }
        }

        if (CanvasHoverState == CanvasHoverStates.GoingUp && (DayTime < TimeinaDay))
        {
            CanvasHoverTimer += Time.deltaTime;
            if (CanvasHoverTimer >= LagCanvasHoverTimer)
            {
                CanvasHoverTimer = 0.0f;
                CanvasHoverState = CanvasHoverStates.GoingDown;
                float x = Random.Range(0, 3);
                if (x > 1)
                {
                    EggPriorLocation = Egg.transform.localPosition;
                    EggWiggle        = new Vector3(EggStart.x + Random.Range(-3f, 3f), EggStart.y, EggStart.z);
                    EggWiggling      = true;
                }
            }
            else
            {
                canvases[SelectedPanelNumber].transform.localPosition = Vector3.Lerp(OffsetVector(CanvasHoverStartingY), OffsetVector(CanvasHoverEndingY), CanvasHoverTimer / LagCanvasHoverTimer);

                SelectPanel.transform.localPosition = canvases[SelectedPanelNumber].transform.localPosition;
                CorrectSelectorIcon();
            }
        }
        else if (CanvasHoverState == CanvasHoverStates.GoingDown && (DayTime < TimeinaDay))
        {
            if (EggWiggling)
            {
                Egg.transform.localPosition = Vector3.Lerp(EggPriorLocation, EggWiggle, CanvasHoverTimer / LagCanvasHoverTimer);
            }
            CanvasHoverTimer += Time.deltaTime;
            if (CanvasHoverTimer >= LagCanvasHoverTimer)
            {
                CanvasHoverTimer = 0.0f;
                CanvasHoverState = CanvasHoverStates.GoingUp;
                EggWiggling      = false;
            }
            else
            {
                canvases[SelectedPanelNumber].transform.localPosition = Vector3.Lerp(OffsetVector(CanvasHoverEndingY), OffsetVector(CanvasHoverStartingY), CanvasHoverTimer / LagCanvasHoverTimer);
                SelectPanel.transform.localPosition = canvases[SelectedPanelNumber].transform.localPosition;
            }
            CorrectSelectorIcon();
        }


        if (timeron)
        {
            LERPtimer += Time.deltaTime;
            if (LERPtimer >= LagTimeFade)
            {
                timeron         = false;
                FinalTransition = true;
                texts[0].text   = "Night Arrives";
            }
            else
            {
                canvases[6].GetComponent <Image>().color = Color32.Lerp(FadeCanvasStartingColor, FadeCanvasEndingColor, LERPtimer / LagTimeFade);
                texts[0].text  = "Night Approaches";
                texts[0].color = Color32.Lerp(new Color32(139, 32, 221, 255), FadeCanvasEndingColor, LERPtimer / LagTimeFade);
            }
        }
        if (TimeinaDay <= DayTime)
        {
            texts[0].text = " Night Arrives";;
        }
        else
        {
            texts[0].text = " Day " + (Day + 1) + " -- " + (TimeinaDay - DayTime) + " Hours Until Nightfall";;
            if ((TimeinaDay - DayTime) == 1)
            {
                texts[0].text = " Day " + (Day + 1) + " -- " + "1 Hour Until Nightfall";;
            }
        }

        if (SelectPossible)
        {
            SelectPanelTimer += Time.deltaTime;
            if ((SelectState == SelectStates.Displaying) && (SelectPanelTimer >= SelectPanelDisplayTime))
            {
                SelectPanelTimer = 0.0f;
                SelectState      = SelectStates.FadingOut;
            }
            else if ((SelectState == SelectStates.FadingOut) && (SelectPanelTimer >= SelectPanelFadeTime))
            {
                SelectPanelTimer = 0.0f;
                SelectState      = SelectStates.FadingIn;
            }
            else if ((SelectState == SelectStates.FadingOut) && (SelectPanelTimer < SelectPanelFadeTime))
            {
                SelectPanel.GetComponent <Image>().color  = Color32.Lerp(StartingSelectColor, EndingSelectColor, SelectPanelTimer / SelectPanelFadeTime);
                SelectorIcon.GetComponent <Image>().color = Color32.Lerp(new Color32(255, 255, 255, 255), new Color32(255, 255, 255, 0), SelectPanelTimer / SelectPanelFadeTime);
            }
            else if ((SelectState == SelectStates.FadingIn) && (SelectPanelTimer >= SelectPanelFadeTime))
            {
                SelectPanelTimer = 0.0f;
                SelectState      = SelectStates.Displaying;
            }
            else if ((SelectState == SelectStates.FadingIn) && (SelectPanelTimer < SelectPanelFadeTime))
            {
                SelectPanel.GetComponent <Image>().color  = Color32.Lerp(EndingSelectColor, StartingSelectColor, SelectPanelTimer / SelectPanelFadeTime);
                SelectorIcon.GetComponent <Image>().color = Color32.Lerp(new Color32(255, 255, 255, 0), new Color32(255, 255, 255, 255), SelectPanelTimer / SelectPanelFadeTime);
            }
        }



        if (canvases[5].GetComponentInChildren <SunScript>().Moving == false && ((DayTime + canvases[SelectedPanelNumber].GetComponent <DayChoice>().ChoiceCost) <= TimeinaDay) && (Input.GetKeyUp("space") || Input.GetKeyUp("return")))
        {
            MakeSelection(canvases[SelectedPanelNumber].GetComponent <DayChoice>());
        }

        if (Input.GetKeyUp("s") && canvases[5].GetComponentInChildren <SunScript>().Moving == false)
        {
            canvases[SelectedPanelNumber].transform.localPosition = OffsetVector(CanvasHoverStartingY);

            if (SelectedPanelNumber == 0)
            {
                SelectedPanelNumber = 1;
                SelectPanel.transform.localPosition = canvases[1].transform.localPosition;
            }
            else if (SelectedPanelNumber == 1)
            {
                SelectedPanelNumber = 2;
                SelectPanel.transform.localPosition = canvases[2].transform.localPosition;
            }
            else if (SelectedPanelNumber == 2)
            {
                SelectedPanelNumber = 7;
                SelectPanel.transform.localPosition = canvases[7].transform.localPosition;
            }
            else if (SelectedPanelNumber == 7)
            {
                SelectedPanelNumber = 8;
                SelectPanel.transform.localPosition = canvases[8].transform.localPosition;
            }
            else if (SelectedPanelNumber == 8)
            {
                SelectedPanelNumber = 4;

                SelectPanel.transform.localPosition = canvases[4].transform.localPosition;
            }
            else if (SelectedPanelNumber == 4)
            {
                SelectedPanelNumber = 0;
                SelectPanel.transform.localPosition = canvases[0].transform.localPosition;
            }
            CorrectSelectorIcon();
        }
        else if (Input.GetKeyUp("w") && canvases[5].GetComponentInChildren <SunScript>().Moving == false)
        {
            canvases[SelectedPanelNumber].transform.localPosition = OffsetVector(CanvasHoverStartingY);

            if (SelectedPanelNumber == 0)
            {
                SelectedPanelNumber = 4;
                SelectPanel.transform.localPosition = canvases[4].transform.localPosition;
            }
            else if (SelectedPanelNumber == 1)
            {
                SelectedPanelNumber = 0;
                SelectPanel.transform.localPosition = canvases[0].transform.localPosition;
            }
            else if (SelectedPanelNumber == 2)
            {
                SelectedPanelNumber = 1;
                SelectPanel.transform.localPosition = canvases[1].transform.localPosition;
            }
            else if (SelectedPanelNumber == 7)
            {
                SelectedPanelNumber = 2;
                SelectPanel.transform.localPosition = canvases[2].transform.localPosition;
            }
            else if (SelectedPanelNumber == 8)
            {
                SelectedPanelNumber = 7;

                SelectPanel.transform.localPosition = canvases[7].transform.localPosition;
            }
            else if (SelectedPanelNumber == 4)
            {
                SelectedPanelNumber = 8;
                SelectPanel.transform.localPosition = canvases[8].transform.localPosition;
            }
            CorrectSelectorIcon();
        }



        //Final Scene Timer (moves visible objects like egg to center of screen

        if (FinalTransition)
        {
            FinalTransitionTimer += Time.deltaTime;
            if (FinalTransitionTimer >= LagFinalTransitionTime)
            {
                //FinalTransition = false;
                Fade();
            }
            else
            {
                Egg.transform.localPosition = Vector3.Lerp(EggPriorLocation, new Vector3(2, 80, 0), FinalTransitionTimer / LagFinalTransitionTime);

                for (int x = 0; x < ObjectsMovingInFinalTransition.Length; x++)
                {
                    Vector3 startVector = new Vector3(EggPriorLocation.x + ObjectFinalTransitionXoffset[x], EggPriorLocation.y + ObjectFinalTransitionYoffset[x], 0);
                    Vector3 endVector   = new Vector3(0 + ObjectFinalTransitionXoffset[x] + 2, 0 + ObjectFinalTransitionYoffset[x] + 80, 0);
                    ObjectsMovingInFinalTransition[x].transform.localPosition = Vector3.Lerp(startVector, endVector, FinalTransitionTimer / LagFinalTransitionTime);
                }

                EggWiggling      = false;
                CanvasHoverTimer = 0.0f;
            }
        }
    }
        /// <summary>
        /// Переводит элементы иерархии memberInfoHierarchy, перечисленные в SelectionInfo и находящиеся там в состоянии stateInDictionary, в состояние newState 
        /// </summary>
        /// <param name="memberInfoHierarchy">Иерархия элементов</param>
        /// <param name="SelectionInfo">Коллекция элементов, которые моут быть переведены</param>
        /// <param name="stateInDictionary">Состояние в коллекции, которое подлежит переводу в новое</param>
        /// <param name="newState">Новое состояние элементов</param>
        private void SetMembersInfoToNewState(RootOlapMemberInfo memberInfoHierarchy, List<MemberChoiceSettings> selectionInfo, SelectStates stateInDictionary, SelectStates newState)
        {
            if (selectionInfo != null)
            {
                foreach (MemberChoiceSettings si in selectionInfo)
                {
                    if (!String.IsNullOrEmpty(si.UniqueName) && si.SelectState == stateInDictionary)
                    {
                        OlapMemberInfo memberInfo = memberInfoHierarchy.FindMember(si.UniqueName);

                        //Если элемент найден, то переводим в новое состояние
                        if (memberInfo != null)
                        {
                            memberInfo.SetNewState(newState);
                        }
                    }
                }
            }
        }
        /// <summary>
        /// Переводит дынный OlapMemberInfo в новое состояние
        /// </summary>
        public void SetNewState(SelectStates newState)
        {

            if (newState == SelectStates.Selected_Self && AllChildrenIsSelected)
            {
                //Устанавливаем в новое состояние
                SetState(SelectStates.Selected_With_Children);
            }
            else
            {
                //Устанавливаем в новое состояние
                SetState(newState);
            }

            //Сообщаем дочерним узлам о том, что родительский элемент изменил свое состояние
            Raise_ParentSelectStateChanged(this);

            //Сообщаем родительскому узлу о том, что дочерний элемент изменил свое состояние
            Raise_ChildSelectStateChanged(this);

            Raise_HierarchyStateChanged(this);
        }
 /// <summary>
 /// Устанавливает состояние для элемента.
 /// </summary>
 /// <param name="newState">Новое состояние</param>
 /// <returns>true - состояние изменилось, false - состояние не изменилось</returns>
 private bool SetState(SelectStates newState)
 {
     if (SelectState != newState)
     {
         m_SelectState = newState;
         Raise_StateChanged();
         return true;
     }
     return false;
 }
        /// <summary>
        /// Устанавливает дочерние элументы в указанное состояние
        /// </summary>
        /// <param name="state">Новое состояние</param>
        /// <param name="recursive">true - процесс идет рекурсивно; false - процесс идет пока меняется состояние</param>
        protected void SetChildrenState(SelectStates state, bool recursive)
        {
            bool changed = SetState(state);

            if (recursive)
                Raise_SetChildrenState(state, recursive);
            else
            {
                if (changed)
                    Raise_SetChildrenState(state, recursive);
            }
        }
 /// <summary>
 /// Устанавливает дочерние элументы в указанное состояние
 /// </summary>
 /// <param name="state">Новое состояние</param>
 /// <param name="recursive">true - процесс идет рекурсивно; false - процесс идет пока меняется состояние</param>
 private void Raise_SetChildrenState(SelectStates state, bool recursive)
 {
     if (Children != null)
     {
         foreach (OlapMemberInfo memberInfo in Children.Values)
         {
             memberInfo.SetChildrenState(state, recursive);
         }
     }
 }
 /// <summary>
 /// Конструктор объекта, описавающего состояние элемента
 /// </summary>
 /// <param name="uniqueName">Уникальное имя мембера</param>
 /// <param name="caption">Заголовок мембера</param>
 /// <param name="state">состояние</param>
 public MemberChoiceSettings(MemberData info, SelectStates state)
 {
     m_Info = info;
     m_SelectState = state;
 }
Exemple #15
0
 /// <summary>
 /// Конструктор объекта, описавающего состояние элемента
 /// </summary>
 /// <param name="uniqueName">Уникальное имя мембера</param>
 /// <param name="caption">Заголовок мембера</param>
 /// <param name="state">состояние</param>
 public MemberChoiceSettings(MemberData info, SelectStates state)
 {
     m_Info        = info;
     m_SelectState = state;
 }