Exemplo n.º 1
0
    // Token: 0x06000BBA RID: 3002 RVA: 0x0010FA64 File Offset: 0x0010DC64
    public void NoneTarget(MapTile MapTileController)
    {
        this.Close();
        if (this.nowDamageRangeID == 0 || this.nowDamageTargetZoneID >= 1024 || MapTileController == null)
        {
            this.nowDamageRangeID       = 0;
            this.nowDamageTargetZoneID  = 1024;
            this.nowDamageTargetPointID = 0;
            return;
        }
        MapWeaponDamageRange recordByKey = DataManager.MapDataController.MapWeaponDamageRangeTable.GetRecordByKey(this.nowDamageRangeID);
        Vector2 tileMapPosbyPointCode    = GameConstants.getTileMapPosbyPointCode(this.nowDamageTargetZoneID, this.nowDamageTargetPointID);
        Vector2 vector = tileMapPosbyPointCode;
        int     num    = (int)((recordByKey.OffSetX <= 128) ? recordByKey.OffSetX : (-(int)(recordByKey.OffSetX - 128)));

        vector.x += (float)num;
        if (vector.x > 511f)
        {
            vector.x = 511f;
        }
        if (vector.x < 0f)
        {
            vector.x = 0f;
        }
        num       = (int)((recordByKey.OffSetY <= 128) ? recordByKey.OffSetY : (-(int)(recordByKey.OffSetY - 128)));
        vector.y += (float)num;
        if (vector.y > 1023f)
        {
            vector.y = 1023f;
        }
        if (vector.y < 0f)
        {
            vector.y = 0f;
        }
        uint layoutMapInfoID = (uint)GameConstants.TileMapPosToMapID((int)vector.x, (int)vector.y);
        int  num2            = -1;
        int  num3            = -1;

        MapTileController.MapIDtoMapTileRowCol(layoutMapInfoID, ref num2, ref num3);
        Color mapTileColorByMapID = MapTileController.getMapTileColorByMapID(layoutMapInfoID);

        if (num2 > -1 && num3 > -1)
        {
            MapTileController.mapTileShowDamageRange(num2, num3, mapTileColorByMapID);
        }
        while (recordByKey.NextID != 0)
        {
            recordByKey = DataManager.MapDataController.MapWeaponDamageRangeTable.GetRecordByKey(recordByKey.NextID);
            vector      = tileMapPosbyPointCode;
            num         = (int)((recordByKey.OffSetX <= 128) ? recordByKey.OffSetX : (-(int)(recordByKey.OffSetX - 128)));
            vector.x   += (float)num;
            if (vector.x > 511f)
            {
                vector.x = 511f;
            }
            if (vector.x < 0f)
            {
                vector.x = 0f;
            }
            num       = (int)((recordByKey.OffSetY <= 128) ? recordByKey.OffSetY : (-(int)(recordByKey.OffSetY - 128)));
            vector.y += (float)num;
            if (vector.y > 1023f)
            {
                vector.y = 1023f;
            }
            if (vector.y < 0f)
            {
                vector.y = 0f;
            }
            layoutMapInfoID = (uint)GameConstants.TileMapPosToMapID((int)vector.x, (int)vector.y);
            MapTileController.MapIDtoMapTileRowCol(layoutMapInfoID, ref num2, ref num3);
            mapTileColorByMapID = MapTileController.getMapTileColorByMapID(layoutMapInfoID);
            if (num2 > -1 && num3 > -1)
            {
                MapTileController.mapTileShowDamageRange(num2, num3, mapTileColorByMapID);
            }
        }
        this.nowDamageRangeID       = 0;
        this.nowDamageTargetZoneID  = 1024;
        this.nowDamageTargetPointID = 0;
    }
Exemplo n.º 2
0
    // Token: 0x06000BB9 RID: 3001 RVA: 0x0010F668 File Offset: 0x0010D868
    public void OnTarget(ushort targetRangeID, ushort targetZoneID, byte targetPointID, MapTile MapTileController)
    {
        if (DataManager.MapDataController.MapWeaponDamageRangeTable == null)
        {
            DataManager.MapDataController.MapWeaponDamageRangeTable = new CExternalTableWithWordKey <MapWeaponDamageRange>();
            DataManager.MapDataController.MapWeaponDamageRangeTable.LoadTable("MapDamageRange");
        }
        this.NoneTarget(MapTileController);
        this.nowDamageRangeID       = targetRangeID;
        this.nowDamageTargetZoneID  = targetZoneID;
        this.nowDamageTargetPointID = targetPointID;
        ushort  num    = 0;
        Vector2 vector = Vector2.zero;

        while (num < 40)
        {
            if (DataManager.MapDataController.CheckYolk(num, 0))
            {
                vector = DataManager.MapDataController.GetYolkPointCode(num, DataManager.MapDataController.FocusKingdomID);
                if (vector.x == (float)targetZoneID && vector.y == (float)targetPointID)
                {
                    break;
                }
            }
            num += 1;
        }
        MapWeaponDamageRange recordByKey = DataManager.MapDataController.MapWeaponDamageRangeTable.GetRecordByKey(targetRangeID);

        if (MapTileController != null)
        {
            this.OnSelect(MapTileController.getTilePosition(targetZoneID, targetPointID), num < 40, recordByKey.MarkID);
            Vector2 tileMapPosbyPointCode = GameConstants.getTileMapPosbyPointCode(targetZoneID, targetPointID);
            Vector2 vector2 = tileMapPosbyPointCode;
            int     num2    = (int)((recordByKey.OffSetX <= 128) ? recordByKey.OffSetX : (-(int)(recordByKey.OffSetX - 128)));
            vector2.x += (float)num2;
            if (vector2.x > 511f)
            {
                vector2.x = 511f;
            }
            if (vector2.x < 0f)
            {
                vector2.x = 0f;
            }
            num2       = (int)((recordByKey.OffSetY <= 128) ? recordByKey.OffSetY : (-(int)(recordByKey.OffSetY - 128)));
            vector2.y += (float)num2;
            if (vector2.y > 1023f)
            {
                vector2.y = 1023f;
            }
            if (vector2.y < 0f)
            {
                vector2.y = 0f;
            }
            Color in_color        = new Color32(recordByKey.ColorR, recordByKey.ColorG, recordByKey.ColorB, byte.MaxValue);
            uint  layoutMapInfoID = (uint)GameConstants.TileMapPosToMapID((int)vector2.x, (int)vector2.y);
            int   num3            = -1;
            int   num4            = -1;
            MapTileController.MapIDtoMapTileRowCol(layoutMapInfoID, ref num3, ref num4);
            if (num3 > -1 && num4 > -1)
            {
                MapTileController.mapTileShowDamageRange(num3, num4, in_color);
            }
            while (recordByKey.NextID != 0)
            {
                ushort nextID = recordByKey.NextID;
                recordByKey = DataManager.MapDataController.MapWeaponDamageRangeTable.GetRecordByKey(nextID);
                if (nextID != recordByKey.ID)
                {
                    break;
                }
                vector2    = tileMapPosbyPointCode;
                num2       = (int)((recordByKey.OffSetX <= 128) ? recordByKey.OffSetX : (-(int)(recordByKey.OffSetX - 128)));
                vector2.x += (float)num2;
                if (vector2.x > 511f)
                {
                    vector2.x = 511f;
                }
                if (vector2.x < 0f)
                {
                    vector2.x = 0f;
                }
                num2       = (int)((recordByKey.OffSetY <= 128) ? recordByKey.OffSetY : (-(int)(recordByKey.OffSetY - 128)));
                vector2.y += (float)num2;
                if (vector2.y > 1023f)
                {
                    vector2.y = 1023f;
                }
                if (vector2.y < 0f)
                {
                    vector2.y = 0f;
                }
                in_color        = new Color32(recordByKey.ColorR, recordByKey.ColorG, recordByKey.ColorB, byte.MaxValue);
                layoutMapInfoID = (uint)GameConstants.TileMapPosToMapID((int)vector2.x, (int)vector2.y);
                MapTileController.MapIDtoMapTileRowCol(layoutMapInfoID, ref num3, ref num4);
                if (num3 > -1 && num4 > -1)
                {
                    MapTileController.mapTileShowDamageRange(num3, num4, in_color);
                }
            }
        }
    }