Exemplo n.º 1
0
        public void Init(CUIFormScript formScript, GameObject minimapGameObject, GameObject signalSrcHeroNameContainer, bool useSignalButton)
        {
            if (formScript == null)
            {
                return;
            }
            this.m_formScript = formScript;
            this.m_miniMap    = minimapGameObject;
            if (this.m_miniMap != null)
            {
                this.m_miniMapScreenPosition = CUIUtility.WorldToScreenPoint(formScript.GetCamera(), this.m_miniMap.transform.position);
            }
            this.m_signalSrcHeroNameContainer = ((signalSrcHeroNameContainer == null) ? null : signalSrcHeroNameContainer.GetComponent <CUIContainerScript>());
            this.m_signalTipsList             = SignalPanel.GetSignalTipsListScript();
            if (this.m_signalTipsList != null)
            {
                this.m_signalTipsListCanvasGroup = this.m_signalTipsList.gameObject.GetComponent <CanvasGroup>();
                if (this.m_signalTipsListCanvasGroup == null)
                {
                    this.m_signalTipsListCanvasGroup = this.m_signalTipsList.gameObject.AddComponent <CanvasGroup>();
                }
                this.m_signalTipsListCanvasGroup.alpha          = 0f;
                this.m_signalTipsListCanvasGroup.blocksRaycasts = false;
            }
            this.m_useSignalButton = useSignalButton;
            this.m_signalButtons   = new CSignalButton[SignalPanel.s_signalButtonInfos.Length];
            for (int i = 0; i < this.m_signalButtons.Length; i++)
            {
                this.m_signalButtons[i] = new CSignalButton(this.m_formScript.GetWidget(SignalPanel.s_signalButtonInfos[i][1]), SignalPanel.s_signalButtonInfos[i][0]);
                this.m_signalButtons[i].Initialize(this.m_formScript);
                if (!useSignalButton)
                {
                    this.m_signalButtons[i].Disable();
                }
            }
            if (this.m_useSignalButton)
            {
                Singleton <CUIEventManager> .GetInstance().AddUIEventListener(enUIEventID.Battle_ClickMiniMap, new CUIEventManager.OnUIEventHandler(this.OnClickMiniMap));

                Singleton <CUIEventManager> .GetInstance().AddUIEventListener(enUIEventID.Battle_Click_Scene, new CUIEventManager.OnUIEventHandler(this.OnClickBattleScene));

                Singleton <CUIEventManager> .GetInstance().AddUIEventListener(enUIEventID.Battle_OnSignalButtonClicked, new CUIEventManager.OnUIEventHandler(this.OnSignalButtonClicked));

                Singleton <CUIEventManager> .GetInstance().AddUIEventListener(enUIEventID.Battle_OnSignalTipsListElementEnable, new CUIEventManager.OnUIEventHandler(this.OnSignalListElementEnabled));

                this.m_battleSceneGroundPlane = new Plane(new Vector3(0f, 1f, 0f), 0.15f);
                this.m_signals = new ListView <CSignal>();
                this.m_playerSignalCooldowns = new Dictionary <uint, SignalPanel.CPlayerSignalCooldown>();
                this.m_signalTipses          = new ListView <CSignalTipsElement>();
            }
            Singleton <GameEventSys> .instance.AddEventHandler <SpawnSoldierParam>(GameEventDef.Event_SpawnSoldier, new RefAction <SpawnSoldierParam>(this.OnSpawnSoldier));
        }