コード例 #1
0
ファイル: TileTouchHandler.cs プロジェクト: Lopt/ascendancy
        /// <summary>
        /// Initializes a new instance of the <see cref="Client.Common.Views.TileTouchHandler"/> class.
        /// </summary>
        /// <param name="worldLayer">World layer.</param>
        public TileTouchHandler(WorldLayerHex worldLayer)
        {
            m_timer = new Stopwatch();
            Gesture = TouchGesture.None;
            m_worldLayer = worldLayer;
            m_startLocation = new CCPoint(1, 1);

            TouchHandler.Instance.ListenBegan(m_worldLayer, OnTouchesBegan);
            TouchHandler.Instance.ListenEnded(m_worldLayer, OnTouchesEnded);
            TouchHandler.Instance.ListenMoved(m_worldLayer, OnTouchesMoved);
        }
コード例 #2
0
ファイル: GameScene.cs プロジェクト: Lopt/ascendancy
        /// <summary>
        /// Initializes a new instance of the <see cref="Client.Common.Views.GameScene"/> class.
        /// </summary>
        /// <param name="mainWindow">Main window.</param>
        public GameScene(CCWindow mainWindow)
            : base(mainWindow)
        {
            WorldLayerHex = new WorldLayerHex(this);

            HUD = new Client.Common.Views.HUD.HUDLayer(this);

            DebugLayer = new DebugLayer();

            Worker.Instance.Init(WorldLayerHex);
            TouchHandler.Instance.Init(WorldLayerHex);

            AddChild(WorldLayerHex);
            AddChild(HUD);
            AddChild(DebugLayer);
        }
コード例 #3
0
ファイル: PositionHelper.cs プロジェクト: Lopt/ascendancy
        /// <summary>
        /// Converts the given world space position to a PositionI
        /// </summary>
        /// <returns>PositionI of the given world space.</returns>
        /// <param name="point">Point which should be converted.</param>
        /// <param name="worldLayer">World layer.</param>
        public static PositionI WorldspaceToPositionI(CCPoint point, WorldLayerHex worldLayer)
        {
            var regionPos = WorldspaceToRegion(point);
            var startRegionPoint = RegionToWorldspace(regionPos);
            var regionView = worldLayer.GetRegionViewHex(regionPos);

            if (regionView != null)
            {
                var tileCoord = regionView.GetTileMap().LayerNamed(ClientConstants.LAYER_TERRAIN).ClosestTileCoordAtNodePosition(point - startRegionPoint);
                tileCoord.Row = Math.Max(tileCoord.Row, -tileCoord.Row);
                tileCoord.Column = Math.Max(tileCoord.Column, -tileCoord.Column);
                var cellPos = new CellPosition(
                    tileCoord.Column % Constants.REGION_SIZE_X,
                    tileCoord.Row % Constants.REGION_SIZE_Y);

                return new PositionI(regionPos, cellPos);
            }
            return null;
        }
コード例 #4
0
ファイル: MenuView.cs プロジェクト: Lopt/ascendancy
 /// <summary>
 /// Initializes a new instance of the <see cref="Client.Common.Views.MenuView"/> class.
 /// </summary>
 /// <param name="worldlayer">The worldlayer.</param>
 /// <param name="center">The menu center position.</param>
 /// <param name="menuType">The menu type.</param>
 public MenuView(WorldLayerHex worldlayer, PositionI center, MenuType menuType)
 {
     m_center = center;
     var defM = Core.Models.World.Instance.DefinitionManager;
     if (menuType == MenuType.Headquarter)
     {
         m_types = new Core.Models.Definitions.Definition[6];
         m_types[0] = defM.GetDefinition(EntityType.Headquarter);
         m_types[1] = defM.GetDefinition(EntityType.Headquarter);
         m_types[2] = defM.GetDefinition(EntityType.Headquarter);
         m_types[3] = defM.GetDefinition(EntityType.Headquarter);
         m_types[4] = defM.GetDefinition(EntityType.Headquarter);
         m_types[5] = defM.GetDefinition(EntityType.Headquarter);
     }
     else if (menuType == MenuType.Major)
     {
         m_types = new Core.Models.Definitions.Definition[0];
     }
     else if (menuType == MenuType.Unity)
     {
         m_types = new Core.Models.Definitions.Definition[6];
         m_types[0] = defM.GetDefinition(EntityType.Mage);
         m_types[1] = defM.GetDefinition(EntityType.Fencer);
         m_types[2] = defM.GetDefinition(EntityType.Warrior);
         m_types[3] = defM.GetDefinition(EntityType.Scout);
         m_types[4] = defM.GetDefinition(EntityType.Archer);
         m_types[5] = defM.GetDefinition(EntityType.Archer);
     }
     else if (menuType == MenuType.Empty)
     {
         m_types = new Core.Models.Definitions.Definition[6];
     }
     else
     {
         m_types = new Core.Models.Definitions.Definition[0];
     }
     m_worldLayer = worldlayer;
     m_extendedMenuPositions = new Dictionary<PositionI, Core.Models.Definitions.Definition>();
     m_baseMenuPositions = new Dictionary<PositionI, CCTileGidAndFlags>();
     m_sprites = new Dictionary<PositionI, CCSprite>();
 }
コード例 #5
0
ファイル: Worker.cs プロジェクト: Lopt/ascendancy
 /// <summary>
 /// Init the specified worldLayer.
 /// </summary>
 /// <param name="worldLayer">World layer.</param>
 public void Init(WorldLayerHex worldLayer)
 {
     WorldLayerHex = worldLayer;
 }