Пример #1
0
 static void OnMouseEnterPointEvent(MouseEnterPointEvent e)
 {
     if (CanConstructOnElement(e.Point))
     {
         GameCursor.Instance.Target = e.Point.Position;
         visual.SetAlpha(1f);
     }
 }
Пример #2
0
        public static void Set(PerformerTask newTask)
        {
            if (!newTask.Enabled)
            {
                return;
            }

            task     = newTask;
            roadTask = task is ConstructRoad;
            bool seedTask = task is PlantSeed;

            System.Type[] taskTypes;
            if (roadTask)
            {
                taskTypes = new [] { typeof(Road) };
            }
            else if (seedTask)
            {
                taskTypes = new [] { typeof(Seed) };
            }
            else
            {
                taskTypes = task.GetType().GetGenericArguments();
            }

            if (taskTypes.Length > 0)
            {
                string renderer = UnitRenderer.GetRenderer(DataManager.GetUnitSymbol(taskTypes[0]));
                visual = ObjectPool.Instantiate(renderer) as UnitRenderer;
                visual.SetAlpha(0.33f);
                GameCursor.Instance.SetVisual(task, visual);
            }

            GameCursor.Instance.onClick += OnClick;

            if (roadTask)
            {
                Events.instance.AddListener <ClickConnectionEvent> (OnClickConnectionEvent);
                Events.instance.AddListener <MouseEnterConnectionEvent> (OnMouseEnterConnectionEvent);
                Events.instance.AddListener <MouseExitConnectionEvent> (OnMouseExitConnectionEvent);
            }
            else
            {
                Events.instance.AddListener <ClickPointEvent> (OnClickPointEvent);
                Events.instance.AddListener <MouseEnterPointEvent> (OnMouseEnterPointEvent);
                Events.instance.AddListener <MouseExitPointEvent> (OnMouseExitPointEvent);
            }
        }