Commit 85854d51 authored by szefo09's avatar szefo09 Committed by GitHub

Merge pull request #6 from purerosefallen/Android

Android
parents ef14e19f a74e355d
......@@ -41,6 +41,7 @@ AI_core_vs2017solution/build/android/libs/
AI_core_vs2017solution/build/android/obj/
# ygopro
ai/
cdb/
config/
deck/
......@@ -58,3 +59,4 @@ strings.conf
AI_core_vs2017solution/core.VC.db
AI_core_vs2017solution/core.VC.VC.opendb
AI_core_vs2017solution/System.Servicemodel.Faltexception.dll
Assets/StreamingAssets/update.zip*

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26403.3
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ocgcore", "ocgcore\ocgcore.vcxproj", "{63635A2D-8303-46F7-8C8B-D1C36655F820}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "coreWrapper", "coreWrapper\coreWrapper.csproj", "{5448596E-A4D2-4011-B8C1-5228260040D1}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{63635A2D-8303-46F7-8C8B-D1C36655F820}.Debug|Any CPU.ActiveCfg = Debug|Win32
{63635A2D-8303-46F7-8C8B-D1C36655F820}.Debug|x64.ActiveCfg = Debug|x64
{63635A2D-8303-46F7-8C8B-D1C36655F820}.Debug|x64.Build.0 = Debug|x64
{63635A2D-8303-46F7-8C8B-D1C36655F820}.Debug|x86.ActiveCfg = Debug|Win32
{63635A2D-8303-46F7-8C8B-D1C36655F820}.Debug|x86.Build.0 = Debug|Win32
{63635A2D-8303-46F7-8C8B-D1C36655F820}.Release|Any CPU.ActiveCfg = Release|Win32
{63635A2D-8303-46F7-8C8B-D1C36655F820}.Release|x64.ActiveCfg = Release|x64
{63635A2D-8303-46F7-8C8B-D1C36655F820}.Release|x64.Build.0 = Release|x64
{63635A2D-8303-46F7-8C8B-D1C36655F820}.Release|x86.ActiveCfg = Release|Win32
{63635A2D-8303-46F7-8C8B-D1C36655F820}.Release|x86.Build.0 = Release|Win32
{5448596E-A4D2-4011-B8C1-5228260040D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5448596E-A4D2-4011-B8C1-5228260040D1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5448596E-A4D2-4011-B8C1-5228260040D1}.Debug|x64.ActiveCfg = Debug|x64
{5448596E-A4D2-4011-B8C1-5228260040D1}.Debug|x64.Build.0 = Debug|x64
{5448596E-A4D2-4011-B8C1-5228260040D1}.Debug|x86.ActiveCfg = Debug|Any CPU
{5448596E-A4D2-4011-B8C1-5228260040D1}.Debug|x86.Build.0 = Debug|Any CPU
{5448596E-A4D2-4011-B8C1-5228260040D1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5448596E-A4D2-4011-B8C1-5228260040D1}.Release|Any CPU.Build.0 = Release|Any CPU
{5448596E-A4D2-4011-B8C1-5228260040D1}.Release|x64.ActiveCfg = Release|x64
{5448596E-A4D2-4011-B8C1-5228260040D1}.Release|x64.Build.0 = Release|x64
{5448596E-A4D2-4011-B8C1-5228260040D1}.Release|x86.ActiveCfg = Release|Any CPU
{5448596E-A4D2-4011-B8C1-5228260040D1}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26403.3
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ocgcore", "ocgcore\ocgcore.vcxproj", "{63635A2D-8303-46F7-8C8B-D1C36655F820}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{63635A2D-8303-46F7-8C8B-D1C36655F820}.Debug|Any CPU.ActiveCfg = Debug|Win32
{63635A2D-8303-46F7-8C8B-D1C36655F820}.Debug|x64.ActiveCfg = Debug|x64
{63635A2D-8303-46F7-8C8B-D1C36655F820}.Debug|x64.Build.0 = Debug|x64
{63635A2D-8303-46F7-8C8B-D1C36655F820}.Debug|x86.ActiveCfg = Debug|Win32
{63635A2D-8303-46F7-8C8B-D1C36655F820}.Debug|x86.Build.0 = Debug|Win32
{63635A2D-8303-46F7-8C8B-D1C36655F820}.Release|Any CPU.ActiveCfg = Release|Win32
{63635A2D-8303-46F7-8C8B-D1C36655F820}.Release|x64.ActiveCfg = Release|x64
{63635A2D-8303-46F7-8C8B-D1C36655F820}.Release|x64.Build.0 = Release|x64
{63635A2D-8303-46F7-8C8B-D1C36655F820}.Release|x86.ActiveCfg = Release|Win32
{63635A2D-8303-46F7-8C8B-D1C36655F820}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {6B0513E2-BC41-4C0B-91E8-E596BD9336CF}
EndGlobalSection
EndGlobal
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("Precy")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Precy")]
[assembly: AssemblyCopyright("Copyright © 2016")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
//将 ComVisible 设置为 false 将使此程序集中的类型
//对 COM 组件不可见。 如果需要从 COM 访问此程序集中的类型,
//请将此类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("5448596e-a4d2-4011-b8c1-5228260040d1")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订号
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值,
// 方法是按如下所示使用“*”: :
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{5448596E-A4D2-4011-B8C1-5228260040D1}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Percy</RootNamespace>
<AssemblyName>System.Servicemodel.Faltexception</AssemblyName>
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="coreWrapper.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<StartAction>Project</StartAction>
<StartProgram>D:\yugioh\ygopro2.exe</StartProgram>
</PropertyGroup>
</Project>
\ No newline at end of file
......@@ -16,7 +16,7 @@ public class MONO_wait : MonoBehaviour {
string t = "";
for (int i = 0; i < (((int)(a * 60)) / 20) % 4; i++)
{
t += "。";
t += InterString.Get("…");
}
lab.text = t + s + t;
}
......
......@@ -6,7 +6,7 @@ using UnityEditor;
public class MegaBendEditor : MegaModifierEditor
{
public override string GetHelpString() { return "Bend Modifier by Chris West"; }
public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers\\bend_help.png"); }
public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers/bend_help.png"); }
public override bool Inspector()
{
......
......@@ -6,7 +6,7 @@ using UnityEditor;
public class MegaBubbleEditor : MegaModifierEditor
{
public override string GetHelpString() { return "Bubble Modifier by Chris West"; }
public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers\\bubble_help.png"); }
public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers/bubble_help.png"); }
public override bool Inspector()
{
......
......@@ -6,7 +6,7 @@ using UnityEditor;
public class MegaDisplaceEditor : MegaModifierEditor
{
public override string GetHelpString() { return "Displace Modifier by Chris West"; }
//public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers\\bend_web.png"); }
//public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers/bend_web.png"); }
public override bool Inspector()
{
......
......@@ -6,7 +6,7 @@ public class MegaFFDEditor : MegaModifierEditor
{
Vector3 pm = new Vector3();
public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers\\ffd_help.png"); }
public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers/ffd_help.png"); }
bool showpoints = true;
......
......@@ -6,7 +6,7 @@ using UnityEditor;
public class MegaHumpEditor : MegaModifierEditor
{
public override string GetHelpString() { return "Hump Modifier by Chris West"; }
public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers\\hump_help.png"); }
public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers/hump_help.png"); }
public override bool Inspector()
{
......
......@@ -6,7 +6,7 @@ using UnityEditor;
public class MegaMeltEditor : MegaModifierEditor
{
public override string GetHelpString() { return "Melt Modifier by Chris West"; }
//public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers\\bend_help.png"); }
//public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers/bend_help.png"); }
public override bool Inspector()
{
......
......@@ -6,7 +6,7 @@ using UnityEditor;
public class MegaNoiseEditor : MegaModifierEditor
{
public override string GetHelpString() { return "Noise Modifier by Chris West"; }
public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers\\noise_help.png"); }
public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers/noise_help.png"); }
public override bool Inspector()
{
......
......@@ -6,7 +6,7 @@ using UnityEngine;
public class MegaPageFlipEditor : MegaModifierEditor
{
public override string GetHelpString() { return "Page Flip Modifier by Chris West"; }
//public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers\\bend_help.png"); }
//public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers/bend_help.png"); }
bool advanced = false;
......
......@@ -6,7 +6,7 @@ using UnityEditor;
public class MegaPushEditor : MegaModifierEditor
{
public override string GetHelpString() { return "Push Modifier by Chris West"; }
public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers\\push_help.png"); }
public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers/push_help.png"); }
public override bool Inspector()
{
......
......@@ -6,7 +6,7 @@ using UnityEditor;
public class MegaRadialSkewEditor : MegaModifierEditor
{
public override string GetHelpString() { return "Radial Skew Modifier by Chris West"; }
public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers\\skew_help.png"); }
public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers/skew_help.png"); }
public override bool Inspector()
{
......
......@@ -6,7 +6,7 @@ using UnityEditor;
public class MegaRubberEditor : MegaModifierEditor
{
public override string GetHelpString() { return "Rubber Modifier by Chris West"; }
public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers\\bend_help.png"); }
public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers/bend_help.png"); }
public override bool DisplayCommon() { return false; }
public override bool Inspector()
......
......@@ -7,7 +7,7 @@ using UnityEditor;
public class MegaSelectionEditor : MegaModifierEditor
{
public override string GetHelpString() { return "Selection Modifier by Chris West"; }
//public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers\\bend_help.png"); }
//public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers/bend_help.png"); }
public override bool DisplayCommon() { return false; }
......
......@@ -5,7 +5,7 @@ using UnityEditor;
public class MegaSimpleEditor : MegaModifierEditor
{
public override string GetHelpString() { return "Simple Modifier by Chris West"; }
public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers\\bend_help.png"); }
public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers/bend_help.png"); }
public override bool Inspector()
{
......
......@@ -6,7 +6,7 @@ using UnityEditor;
public class MegaSinusCurveEditor : MegaModifierEditor
{
public override string GetHelpString() { return "Sinus Curve Modifier by Unity"; }
//public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers\\bend_help.png"); }
//public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers/bend_help.png"); }
public override bool Inspector()
{
......
......@@ -6,7 +6,7 @@ using UnityEditor;
public class MegaSqueezeEditor : MegaModifierEditor
{
public override string GetHelpString() { return "Squeeze Modifier by Chris West"; }
//public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers\\taper_help.png"); }
//public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers/taper_help.png"); }
public override bool Inspector()
{
......
......@@ -6,7 +6,7 @@ using UnityEditor;
public class MegaStretchEditor : MegaModifierEditor
{
public override string GetHelpString() { return "Stretch Modifier by Chris West"; }
public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers\\stretch_help.png"); }
public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers/stretch_help.png"); }
public override bool Inspector()
{
......
......@@ -6,7 +6,7 @@ using UnityEditor;
public class MegaTaperEditor : MegaModifierEditor
{
public override string GetHelpString() { return "Taper Modifier by Chris West"; }
public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers\\taper_help.png"); }
public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers/taper_help.png"); }
public override bool Inspector()
{
......
......@@ -6,7 +6,7 @@ using UnityEditor;
public class MegaTwistEditor : MegaModifierEditor
{
public override string GetHelpString() { return "Twist Modifier by Chris West"; }
public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers\\twist_help.png"); }
public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers/twist_help.png"); }
public override bool Inspector()
{
......
......@@ -6,7 +6,7 @@ using UnityEditor;
public class MegaVertColSelectEditor : MegaModifierEditor
{
public override string GetHelpString() { return "Vertex Color Select Modifier by Chris West"; }
//public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers\\bend_help.png"); }
//public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers/bend_help.png"); }
public override bool DisplayCommon() { return false; }
......
......@@ -6,7 +6,7 @@ using UnityEditor;
public class MegaVertNoiseEditor : MegaModifierEditor
{
public override string GetHelpString() { return "Vertical Noise Modifier by Chris West"; }
public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers\\noise_help.png"); }
public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers/noise_help.png"); }
public override bool Inspector()
{
......
......@@ -6,7 +6,7 @@ using UnityEditor;
public class MegaVolSelectEditor : MegaModifierEditor
{
public override string GetHelpString() { return "Vol Select Modifier by Chris West"; }
//public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers\\bend_help.png"); }
//public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers/bend_help.png"); }
public override bool DisplayCommon() { return false; }
......
......@@ -6,7 +6,7 @@ using UnityEditor;
public class MegaWaveEditor : MegaModifierEditor
{
public override string GetHelpString() { return "Wave Modifier by Chris West"; }
public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers\\wave_help.png"); }
public override Texture LoadImage() { return (Texture)EditorGUIUtility.LoadRequired("MegaFiers/wave_help.png"); }
public override bool Inspector()
{
......
......@@ -7,6 +7,8 @@ public class gameUIbutton
public string hashString;
public GameObject gameObject;
public int response;
public bool dying;
public bool dead;
}
public class gameInfo : MonoBehaviour
......@@ -120,25 +122,41 @@ public class gameInfo : MonoBehaviour
opponent.transform.localPosition = new Vector3(Screen.width / 2 - 14, Screen.height / 2 - 14 - k * (float)(opponent.under.height));
}
float height = 198 + 75 * (HashedButtons.Count);
if (HashedButtons.Count == 0)
{
height = 174;
}
width = (225 * kb) + 15f;
width = (225 * kb) + 15f;
float localPositionPanX = (((float)Screen.width - 225 * kb) / 2) - 15f;
float localPositionPanY = 0;
float localPositionPanY_ = instance_btnPan.transform.localPosition.y + (localPositionPanY - instance_btnPan.transform.localPosition.y) * 0.2f;
instance_btnPan.height += (int)(((float)height - (float)instance_btnPan.height) * 0.2f);
instance_btnPan.transform.localPosition = new Vector3(localPositionPanX, localPositionPanY_, 0);
instance_lab.transform.localPosition = new Vector3(Screen.width/ 2 - 315, -Screen.height / 2 + 90, 0);
instance_btnPan.transform.localPosition = new Vector3(localPositionPanX, 120, 0);
instance_lab.transform.localPosition = new Vector3(Screen.width / 2 - 315, -Screen.height / 2 + 90, 0);
int j = 0;
for (int i = 0; i < HashedButtons.Count; i++)
{
if (HashedButtons[i].gameObject != null)
{
HashedButtons[i].gameObject.transform.localPosition += (new Vector3(0, height / 2 - 220 - i * 75, 0) - HashedButtons[i].gameObject.transform.localPosition) * Program.deltaTime * 10f;
if (HashedButtons[i].dying)
{
HashedButtons[i].gameObject.transform.localPosition += (new Vector3(0, -120, 0) - HashedButtons[i].gameObject.transform.localPosition) * Program.deltaTime * 20f;
if (Math.Abs(HashedButtons[i].gameObject.transform.localPosition.y - -120) < 1)
HashedButtons[i].dead = true;
}
else
{
HashedButtons[i].gameObject.transform.localPosition += (new Vector3(0, -220 - j * 75, 0) - HashedButtons[i].gameObject.transform.localPosition) * Program.deltaTime * 10f;
j++;
}
}
else
HashedButtons[i].dead = true;
}
for (int i = HashedButtons.Count - 1; i >= 0; i--)
{
if (HashedButtons[i].dead)
HashedButtons.RemoveAt(i);
}
float height = 198 + 75 * j;
if (j == 0)
{
height = 174;
}
instance_btnPan.height += (int)(((float)height - (float)instance_btnPan.height) * 0.2f);
if (Program.TimePassed() - lastTickTime > 1000)
{
lastTickTime = Program.TimePassed();
......@@ -171,9 +189,10 @@ public class gameInfo : MonoBehaviour
}
hashedButton.gameObject.transform.SetParent(instance_btnPan.transform,false);
hashedButton.gameObject.transform.localScale = Vector3.zero;
hashedButton.gameObject.transform.localPosition= Vector3.zero;
hashedButton.gameObject.transform.localPosition= new Vector3(0, -120, 0);
hashedButton.gameObject.transform.localEulerAngles = Vector3.zero;
iTween.ScaleTo(hashedButton.gameObject, new Vector3(0.9f, 0.9f, 0.9f), 0.3f);
hashedButton.dying = false;
HashedButtons.Add(hashedButton);
refreshLine();
}
......@@ -222,9 +241,9 @@ public class gameInfo : MonoBehaviour
{
if (remove.gameObject != null)
{
Program.I().destroy(remove.gameObject, 0.6f, true);
Program.I().destroy(remove.gameObject, 0.3f, true);
}
HashedButtons.Remove(remove);
remove.dying = true;
}
refreshLine();
}
......@@ -242,16 +261,24 @@ public class gameInfo : MonoBehaviour
{
if (HashedButtons[i].gameObject != null)
{
Program.I().destroy(HashedButtons[i].gameObject, 0.6f, true);
Program.I().destroy(HashedButtons[i].gameObject, 0.3f, true);
}
HashedButtons[i].dying = true;
}
HashedButtons.Clear();
refreshLine();
}
void refreshLine()
{
line.SetActive(HashedButtons.Count > 0);
int j = 0;
for (int i = 0; i < HashedButtons.Count; i++)
{
if (!HashedButtons[i].dying)
{
j++;
}
}
line.SetActive(j > 0);
}
int[] time = new int[2];
......@@ -303,8 +330,16 @@ public class gameInfo : MonoBehaviour
opponent.under.mainTexture = GameTextureManager.exBar;
me.under.mainTexture = GameTextureManager.bar;
}
me.api_timeHint.text = "paused";
opponent.api_timeHint.text = "paused";
if (Program.I().ocgcore.timeLimit == 0)
{
me.api_timeHint.text = "infinite";
opponent.api_timeHint.text = "infinite";
}
else
{
me.api_timeHint.text = "paused";
opponent.api_timeHint.text = "paused";
}
}
public bool amIdanger()
......@@ -314,6 +349,10 @@ public class gameInfo : MonoBehaviour
void setTimeAbsolutely(int player, int t)
{
if (Program.I().ocgcore.timeLimit == 0)
{
return;
}
if (player == 0)
{
me.api_timeHint.text = t.ToString() + "/" + Program.I().ocgcore.timeLimit.ToString();
......
......@@ -321,7 +321,7 @@ Transform:
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 179438}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -97, y: 30, z: 0}
m_LocalPosition: {x: -97, y: -38, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 481814}
......@@ -363,7 +363,7 @@ Transform:
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 114238}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -97, y: -66, z: 0}
m_LocalPosition: {x: -97, y: -134, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 400434}
......@@ -379,7 +379,7 @@ Transform:
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 171338}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: -97, z: 0}
m_LocalPosition: {x: 0, y: -165, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 498562}
......@@ -418,7 +418,7 @@ Transform:
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 147310}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -97, y: -20, z: 0}
m_LocalPosition: {x: -97, y: -86, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 451638}
......@@ -499,7 +499,7 @@ Transform:
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 104964}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 126, z: 0}
m_LocalPosition: {x: 0, y: 129, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 411346}
......@@ -519,8 +519,8 @@ BoxCollider:
m_IsTrigger: 1
m_Enabled: 1
serializedVersion: 2
m_Size: {x: 240, y: 48, z: 0}
m_Center: {x: 120, y: 0, z: 0}
m_Size: {x: 270, y: 48, z: 0}
m_Center: {x: 135, y: 0, z: 0}
--- !u!65 &6532536
BoxCollider:
m_ObjectHideFlags: 1
......@@ -543,8 +543,8 @@ BoxCollider:
m_IsTrigger: 1
m_Enabled: 1
serializedVersion: 2
m_Size: {x: 240, y: 44, z: 0}
m_Center: {x: 120, y: 0, z: 0}
m_Size: {x: 270, y: 48, z: 0}
m_Center: {x: 135, y: 0, z: 0}
--- !u!65 &6583438
BoxCollider:
m_ObjectHideFlags: 1
......@@ -555,8 +555,8 @@ BoxCollider:
m_IsTrigger: 1
m_Enabled: 1
serializedVersion: 2
m_Size: {x: 240, y: 48, z: 0}
m_Center: {x: 120, y: 0, z: 0}
m_Size: {x: 270, y: 48, z: 0}
m_Center: {x: 135, y: 0, z: 0}
--- !u!111 &11101560
Animation:
m_ObjectHideFlags: 1
......@@ -676,7 +676,7 @@ MonoBehaviour:
rightAnchor:
target: {fileID: 498562}
relative: 1
absolute: 35
absolute: 65
bottomAnchor:
target: {fileID: 498562}
relative: 1
......@@ -684,17 +684,17 @@ MonoBehaviour:
topAnchor:
target: {fileID: 498562}
relative: 1
absolute: -66
absolute: -62
updateAnchors: 1
mColor: {r: 1, g: 1, b: 1, a: 1}
mPivot: 3
mWidth: 240
mHeight: 44
mWidth: 270
mHeight: 48
mDepth: 6
autoResizeBoxCollider: 1
hideIfOffScreen: 0
keepAspectRatio: 0
aspectRatio: 5.4545455
aspectRatio: 5.625
--- !u!114 &11407804
MonoBehaviour:
m_ObjectHideFlags: 1
......@@ -725,13 +725,13 @@ MonoBehaviour:
updateAnchors: 1
mColor: {r: 1, g: 1, b: 1, a: 1}
mPivot: 3
mWidth: 180
mHeight: 46
mWidth: 210
mHeight: 50
mDepth: 9
autoResizeBoxCollider: 0
hideIfOffScreen: 0
keepAspectRatio: 0
aspectRatio: 3.9130435
aspectRatio: 4.2
keepCrispWhenShrunk: 1
mTrueTypeFont: {fileID: 12800000, guid: f775853fdfd14bb47934543e95c3bae3, type: 3}
mFont: {fileID: 0}
......@@ -999,7 +999,7 @@ MonoBehaviour:
rightAnchor:
target: {fileID: 498562}
relative: 1
absolute: 35
absolute: 65
bottomAnchor:
target: {fileID: 498562}
relative: 1
......@@ -1011,13 +1011,13 @@ MonoBehaviour:
updateAnchors: 1
mColor: {r: 1, g: 1, b: 1, a: 1}
mPivot: 3
mWidth: 240
mWidth: 270
mHeight: 48
mDepth: 6
autoResizeBoxCollider: 1
hideIfOffScreen: 0
keepAspectRatio: 0
aspectRatio: 5
aspectRatio: 5.625
--- !u!114 &11430404
MonoBehaviour:
m_ObjectHideFlags: 1
......@@ -1218,29 +1218,29 @@ MonoBehaviour:
leftAnchor:
target: {fileID: 498562}
relative: 0
absolute: -12
absolute: 11
rightAnchor:
target: {fileID: 498562}
relative: 1
absolute: 12
absolute: -11
bottomAnchor:
target: {fileID: 498562}
relative: 1
absolute: -175
absolute: -172
topAnchor:
target: {fileID: 498562}
relative: 1
absolute: -155
absolute: -158
updateAnchors: 1
mColor: {r: 1, g: 1, b: 1, a: 1}
mPivot: 4
mWidth: 240
mHeight: 20
mWidth: 194
mHeight: 14
mDepth: 0
autoResizeBoxCollider: 0
hideIfOffScreen: 0
keepAspectRatio: 0
aspectRatio: 12
aspectRatio: 13.857142
mType: 0
mFillDirection: 4
mFillAmount: 1
......@@ -1361,13 +1361,13 @@ MonoBehaviour:
updateAnchors: 1
mColor: {r: 1, g: 1, b: 1, a: 0}
mPivot: 4
mWidth: 50
mHeight: 55
mWidth: 51
mHeight: 54
mDepth: 8
autoResizeBoxCollider: 0
hideIfOffScreen: 0
keepAspectRatio: 0
aspectRatio: 0.90909094
aspectRatio: 0.9444444
mType: 0
mFillDirection: 4
mFillAmount: 1
......@@ -1424,7 +1424,7 @@ MonoBehaviour:
absolute: 0
updateAnchors: 1
mColor: {r: 1, g: 1, b: 1, a: 1}
mPivot: 4
mPivot: 1
mWidth: 216
mHeight: 135
mDepth: 0
......@@ -1603,13 +1603,13 @@ MonoBehaviour:
updateAnchors: 1
mColor: {r: 1, g: 1, b: 1, a: 0}
mPivot: 4
mWidth: 50
mHeight: 55
mWidth: 51
mHeight: 54
mDepth: 8
autoResizeBoxCollider: 0
hideIfOffScreen: 0
keepAspectRatio: 0
aspectRatio: 0.90909094
aspectRatio: 0.9444444
mType: 0
mFillDirection: 4
mFillAmount: 1
......@@ -1653,13 +1653,13 @@ MonoBehaviour:
updateAnchors: 1
mColor: {r: 1, g: 1, b: 1, a: 1}
mPivot: 3
mWidth: 180
mWidth: 210
mHeight: 50
mDepth: 9
autoResizeBoxCollider: 0
hideIfOffScreen: 0
keepAspectRatio: 0
aspectRatio: 3.6
aspectRatio: 4.2
keepCrispWhenShrunk: 1
mTrueTypeFont: {fileID: 12800000, guid: f775853fdfd14bb47934543e95c3bae3, type: 3}
mFont: {fileID: 0}
......@@ -1760,13 +1760,13 @@ MonoBehaviour:
updateAnchors: 1
mColor: {r: 1, g: 1, b: 1, a: 0}
mPivot: 4
mWidth: 50
mHeight: 55
mWidth: 51
mHeight: 54
mDepth: 8
autoResizeBoxCollider: 0
hideIfOffScreen: 0
keepAspectRatio: 0
aspectRatio: 0.90909094
aspectRatio: 0.9444444
mType: 0
mFillDirection: 4
mFillAmount: 1
......@@ -1892,13 +1892,13 @@ MonoBehaviour:
updateAnchors: 1
mColor: {r: 1, g: 1, b: 1, a: 1}
mPivot: 3
mWidth: 180
mWidth: 210
mHeight: 50
mDepth: 9
autoResizeBoxCollider: 0
hideIfOffScreen: 0
keepAspectRatio: 0
aspectRatio: 3.6
aspectRatio: 4.2
keepCrispWhenShrunk: 1
mTrueTypeFont: {fileID: 12800000, guid: f775853fdfd14bb47934543e95c3bae3, type: 3}
mFont: {fileID: 0}
......@@ -1988,7 +1988,7 @@ MonoBehaviour:
rightAnchor:
target: {fileID: 498562}
relative: 1
absolute: 35
absolute: 65
bottomAnchor:
target: {fileID: 498562}
relative: 1
......@@ -2000,13 +2000,13 @@ MonoBehaviour:
updateAnchors: 1
mColor: {r: 1, g: 1, b: 1, a: 1}
mPivot: 3
mWidth: 240
mWidth: 270
mHeight: 48
mDepth: 6
autoResizeBoxCollider: 1
hideIfOffScreen: 0
keepAspectRatio: 0
aspectRatio: 5
aspectRatio: 5.625
--- !u!114 &11495680
MonoBehaviour:
m_ObjectHideFlags: 1
......
......@@ -25,7 +25,7 @@ GameObject:
- component: {fileID: 441644}
- component: {fileID: 11447192}
m_Layer: 8
m_Name: Label
m_Name: '!default'
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
......@@ -180,7 +180,7 @@ Transform:
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 144698}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -228, y: 48, z: 0}
m_LocalPosition: {x: -232, y: 52, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 412442}
......@@ -193,7 +193,7 @@ Transform:
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 154124}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -3709.2634, y: -1914.3617, z: 1945.5518}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 423624}
......@@ -461,33 +461,33 @@ MonoBehaviour:
leftAnchor:
target: {fileID: 469308}
relative: 0
absolute: 12
absolute: 8
rightAnchor:
target: {fileID: 469308}
relative: 1
absolute: -12
absolute: -8
bottomAnchor:
target: {fileID: 469308}
relative: 0
absolute: 12
absolute: 8
topAnchor:
target: {fileID: 469308}
relative: 1
absolute: -12
absolute: -8
updateAnchors: 1
mColor: {r: 1, g: 1, b: 1, a: 0.40392157}
mPivot: 0
mWidth: 456
mHeight: 36
mWidth: 464
mHeight: 44
mDepth: 1
autoResizeBoxCollider: 0
hideIfOffScreen: 0
keepAspectRatio: 0
aspectRatio: 9.702127
aspectRatio: 10.545455
keepCrispWhenShrunk: 1
mTrueTypeFont: {fileID: 12800000, guid: f775853fdfd14bb47934543e95c3bae3, type: 3}
mFont: {fileID: 0}
mText: Press here to type
mText: "\u70B9\u51FB\u8F93\u5165\u6D88\u606F\u5185\u5BB9"
mFontSize: 30
mFontStyle: 0
mAlignment: 0
......
......@@ -416,7 +416,7 @@ GameObject:
- component: {fileID: 499812}
- component: {fileID: 11477028}
m_Layer: 8
m_Name: Label
m_Name: '!default'
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
......@@ -768,7 +768,7 @@ Transform:
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 123392}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -3587.3245, y: -1563.133, z: 2313.1128}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 486490}
......@@ -968,7 +968,7 @@ Transform:
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 175840}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -228, y: 48, z: 0}
m_LocalPosition: {x: -232, y: 52, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 442754}
......@@ -2311,33 +2311,33 @@ MonoBehaviour:
leftAnchor:
target: {fileID: 491894}
relative: 0
absolute: 12
absolute: 8
rightAnchor:
target: {fileID: 491894}
relative: 1
absolute: -12
absolute: -8
bottomAnchor:
target: {fileID: 491894}
relative: 0
absolute: 12
absolute: 8
topAnchor:
target: {fileID: 491894}
relative: 1
absolute: -12
absolute: -8
updateAnchors: 1
mColor: {r: 1, g: 1, b: 1, a: 0.40392157}
mPivot: 0
mWidth: 456
mHeight: 36
mWidth: 464
mHeight: 44
mDepth: 1
autoResizeBoxCollider: 0
hideIfOffScreen: 0
keepAspectRatio: 0
aspectRatio: 9.702127
aspectRatio: 10.545455
keepCrispWhenShrunk: 1
mTrueTypeFont: {fileID: 12800000, guid: f775853fdfd14bb47934543e95c3bae3, type: 3}
mFont: {fileID: 0}
mText: Press here to type
mText: "\u70B9\u51FB\u8F93\u5165\u6D88\u606F\u5185\u5BB9"
mFontSize: 30
mFontStyle: 0
mAlignment: 0
......
......@@ -101,7 +101,7 @@ GameObject:
- component: {fileID: 455054}
- component: {fileID: 11480540}
m_Layer: 8
m_Name: Label
m_Name: '!default'
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
......@@ -661,7 +661,7 @@ Transform:
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 113872}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -228, y: 38, z: 0}
m_LocalPosition: {x: -232, y: 42, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 451004}
......@@ -729,7 +729,7 @@ Transform:
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 117332}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -3741.2727, y: -2538.5574, z: 1614.3647}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 418976}
......@@ -2225,33 +2225,33 @@ MonoBehaviour:
leftAnchor:
target: {fileID: 432846}
relative: 0
absolute: 12
absolute: 8
rightAnchor:
target: {fileID: 432846}
relative: 1
absolute: -12
absolute: -8
bottomAnchor:
target: {fileID: 432846}
relative: 0
absolute: 12
absolute: 8
topAnchor:
target: {fileID: 432846}
relative: 1
absolute: -12
absolute: -8
updateAnchors: 1
mColor: {r: 1, g: 1, b: 1, a: 0.40392157}
mPivot: 0
mWidth: 456
mHeight: 36
mWidth: 464
mHeight: 44
mDepth: 1
autoResizeBoxCollider: 0
hideIfOffScreen: 0
keepAspectRatio: 0
aspectRatio: 9.702127
aspectRatio: 10.545455
keepCrispWhenShrunk: 1
mTrueTypeFont: {fileID: 12800000, guid: f775853fdfd14bb47934543e95c3bae3, type: 3}
mFont: {fileID: 0}
mText: Press here to type
mText: "\u70B9\u51FB\u8F93\u5165\u6D88\u606F\u5185\u5BB9"
mFontSize: 30
mFontStyle: 0
mAlignment: 0
......
fileFormatVersion: 2
guid: 73132aa60cb2f2a4fb89f09c6777b7f5
timeCreated: 1476610278
licenseType: Pro
PluginImporter:
serializedVersion: 2
iconMap: {}
executionOrder: {}
isPreloaded: 0
isOverridable: 0
platformData:
data:
first:
Any:
second:
enabled: 1
settings: {}
data:
first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
data:
first:
Windows Store Apps: WindowsStoreApps
second:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
......@@ -2,6 +2,7 @@
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using YGOSharp.OCGWrapper.Enums;
public class Book : WindowServant2D
{
......@@ -102,15 +103,15 @@ public class Book : WindowServant2D
}
foreach (var item in Program.I().ocgcore.cards)
{
if (item.p.location == (UInt32)game_location.search)
if (item.p.location == (UInt32)CardLocation.Search)
{
continue;
}
if (item.p.location == (UInt32)game_location.LOCATION_UNKNOWN)
if (item.p.location == (UInt32)CardLocation.Unknown)
{
continue;
}
if (item.p.location == (UInt32)game_location.LOCATION_DECK)
if (item.p.location == (UInt32)CardLocation.Deck)
{
continue;
}
......@@ -123,7 +124,7 @@ public class Book : WindowServant2D
master.remove(item.get_data().Name);
}
}
deckString += master.managedString;
deckString += master.managedString.TrimEnd('\n');
lab.text = deckString;
}
if (labop != null)
......@@ -132,7 +133,7 @@ public class Book : WindowServant2D
master = new MultiStringMaster();
foreach (var item in Program.I().ocgcore.cards)
{
if (item.p.location == (UInt32)game_location.search)
if (item.p.location == (UInt32)CardLocation.Search)
{
continue;
}
......@@ -145,10 +146,10 @@ public class Book : WindowServant2D
master.Add(item.get_data().Name);
}
}
opString += master.managedString;
opString += master.managedString.TrimEnd('\n');
if (master.strings.Count > 0)
{
labop.text = InterString.Get("[ff5555]对手使用过:\n[?][-]", opString);
labop.text = InterString.Get("[ff5555]对手使用过:@n[?][-]", opString);
}
else
{
......@@ -169,11 +170,11 @@ public class Book : WindowServant2D
bool died = false;
foreach (var item in Program.I().ocgcore.cards)
{
if (item.p.location == (UInt32)game_location.search)
if (item.p.location == (UInt32)CardLocation.Search)
{
continue;
}
if (item.p.location == (UInt32)game_location.LOCATION_UNKNOWN)
if (item.p.location == (UInt32)CardLocation.Unknown)
{
continue;
}
......@@ -181,15 +182,15 @@ public class Book : WindowServant2D
{
if (item.p.controller == i)
{
if (item.p.location == (UInt32)game_location.LOCATION_MZONE || item.p.location == (UInt32)game_location.LOCATION_SZONE)
if (item.p.location == (UInt32)CardLocation.MonsterZone || item.p.location == (UInt32)CardLocation.SpellZone)
{
fieldCards[i]++;
}
if (item.p.location == (UInt32)game_location.LOCATION_HAND)
if (item.p.location == (UInt32)CardLocation.Hand)
{
handCards[i]++;
}
if (item.p.location == (UInt32)game_location.LOCATION_GRAVE || item.p.location == (UInt32)game_location.LOCATION_REMOVED)
if (item.p.location == (UInt32)CardLocation.Grave || item.p.location == (UInt32)CardLocation.Removed)
{
resourceCards[i]++;
}
......
using UnityEngine;
using System;
using System.Collections.Generic;
using YGOSharp.OCGWrapper.Enums;
public class CardDescription : Servant
{
......@@ -251,30 +252,30 @@ public class CardDescription : Servant
{
if (gps.controller == 0)
{
if ((gps.location & (UInt32)game_location.LOCATION_GRAVE) > 0)
if ((gps.location & (UInt32)CardLocation.Grave) > 0)
{
myGrave.Add(curCard);
}
if ((gps.location & (UInt32)game_location.LOCATION_REMOVED) > 0)
if ((gps.location & (UInt32)CardLocation.Removed) > 0)
{
myBanished.Add(curCard);
}
if ((gps.location & (UInt32)game_location.LOCATION_EXTRA) > 0)
if ((gps.location & (UInt32)CardLocation.Extra) > 0)
{
myExtra.Add(curCard);
}
}
else
{
if ((gps.location & (UInt32)game_location.LOCATION_GRAVE) > 0)
if ((gps.location & (UInt32)CardLocation.Grave) > 0)
{
opGrave.Add(curCard);
}
if ((gps.location & (UInt32)game_location.LOCATION_REMOVED) > 0)
if ((gps.location & (UInt32)CardLocation.Removed) > 0)
{
opBanished.Add(curCard);
}
if ((gps.location & (UInt32)game_location.LOCATION_EXTRA) > 0)
if ((gps.location & (UInt32)CardLocation.Extra) > 0)
{
opExtra.Add(curCard);
}
......
......@@ -64,12 +64,14 @@ public static class InterString
{
return return_value.Replace("@n", "\r\n").Replace("@ui", "");
}
else
else if (original != "")
{
File.AppendAllText(path, original + "->" + original + "\r\n");
translations.Add(original, original);
return original.Replace("@n", "\r\n").Replace("@ui", "");
}
else
return original;
}
public static string Get(string original, string replace)
......
......@@ -144,13 +144,13 @@ public class Menu : WindowServantSP
Application.OpenURL("https://github.com/Unicorn369/pro2_android_closeup/releases/tag/1.0");
#elif UNITY_ANDROID //Android
AndroidJavaObject jo = new AndroidJavaObject("cn.unicorn369.library.API");
if (!File.Exists("updates/closeup_version1.1.txt")) {//用于检查更新
if (File.Exists("closeup_version1.1.zip")) {//如果有则直接解压
jo.Call("doExtractZipFile", "closeup_version1.1.zip", Program.ANDROID_GAME_PATH);
} else if (File.Exists("updates/closeup_version1.0.txt")){//如果有则下载更新包
jo.Call("doDownloadZipFile", "https://github.com/Unicorn369/pro2_android_closeup/releases/download/1.0/up_closeup_version1.1.zip");
if (!File.Exists("updates/closeup_version1.2.txt")) {//用于检查更新
if (File.Exists("closeup_version1.2.zip")) {//如果有则直接解压
jo.Call("doExtractZipFile", "closeup_version1.2.zip", Program.ANDROID_GAME_PATH);
} else if (File.Exists("updates/closeup_version1.1.txt")){//如果有则下载更新包
jo.Call("doDownloadZipFile", "https://github.com/Unicorn369/pro2_android_closeup/releases/download/1.0/up_closeup_version1.2.zip");
} else {//否则下载并解压,锁定目录:ANDROID_GAME_PATH
jo.Call("doDownloadZipFile", "https://github.com/Unicorn369/pro2_android_closeup/releases/download/1.0/closeup_version1.1.zip");
jo.Call("doDownloadZipFile", "https://github.com/Unicorn369/pro2_android_closeup/releases/download/1.0/closeup_version1.2.zip");
}
} else {
jo.Call("showToast", "已下载,无需再次下载!");
......
This diff is collapsed.
......@@ -4,6 +4,8 @@ using System.Collections.Generic;
using System.IO;
using System.Runtime.InteropServices;
using UnityEngine;
using YGOSharp.OCGWrapper.Enums;
public static class UIHelper
{
[DllImport("user32")]
......@@ -980,31 +982,31 @@ public static class UIHelper
{
res += InterString.Get("对方");
}
if ((p1.location & (UInt32)game_location.LOCATION_DECK) > 0)
if ((p1.location & (UInt32)CardLocation.Deck) > 0)
{
res += InterString.Get("卡组");
}
if ((p1.location & (UInt32)game_location.LOCATION_EXTRA) > 0)
if ((p1.location & (UInt32)CardLocation.Extra) > 0)
{
res += InterString.Get("额外");
}
if ((p1.location & (UInt32)game_location.LOCATION_GRAVE) > 0)
if ((p1.location & (UInt32)CardLocation.Grave) > 0)
{
res += InterString.Get("墓地");
}
if ((p1.location & (UInt32)game_location.LOCATION_HAND) > 0)
if ((p1.location & (UInt32)CardLocation.Hand) > 0)
{
res += InterString.Get("手牌");
}
if ((p1.location & (UInt32)game_location.LOCATION_MZONE) > 0)
if ((p1.location & (UInt32)CardLocation.MonsterZone) > 0)
{
res += InterString.Get("前场");
}
if ((p1.location & (UInt32)game_location.LOCATION_REMOVED) > 0)
if ((p1.location & (UInt32)CardLocation.Removed) > 0)
{
res += InterString.Get("除外");
}
if ((p1.location & (UInt32)game_location.LOCATION_SZONE) > 0)
if ((p1.location & (UInt32)CardLocation.SpellZone) > 0)
{
res += InterString.Get("后场");
}
......@@ -1014,41 +1016,41 @@ public static class UIHelper
//internal static string getGPSstringPosition(GPS p1)
//{
// string res = "";
// if ((p1.location & (UInt32)game_location.LOCATION_OVERLAY) > 0)
// if ((p1.location & (UInt32)CardLocation.Overlay) > 0)
// {
// res += InterString.Get("(被叠放)");
// }
// else
// {
// if ((p1.position & (UInt32)game_position.POS_FACEUP_ATTACK) > 0)
// if ((p1.position & (UInt32)CardPosition.FaceUpAttack) > 0)
// {
// res += InterString.Get("(表侧攻击)");
// }
// else if ((p1.position & (UInt32)game_position.POS_FACEUP_DEFENSE) > 0)
// else if ((p1.position & (UInt32)CardPosition.FaceUp_DEFENSE) > 0)
// {
// res += InterString.Get("(表侧防御)");
// res += InterString.Get("(表侧守备)");
// }
// else if ((p1.position & (UInt32)game_position.POS_FACEDOWN_ATTACK) > 0)
// else if ((p1.position & (UInt32)CardPosition.FaceDownAttack) > 0)
// {
// res += InterString.Get("(里侧攻击)");
// }
// else if ((p1.position & (UInt32)game_position.POS_FACEDOWN_DEFENSE) > 0)
// else if ((p1.position & (UInt32)CardPosition.FaceDown_DEFENSE) > 0)
// {
// res += InterString.Get("(里侧防御)");
// res += InterString.Get("(里侧守备)");
// }
// else if ((p1.position & (UInt32)game_position.POS_ATTACK) > 0)
// else if ((p1.position & (UInt32)CardPosition.Attack) > 0)
// {
// res += InterString.Get("(攻击)");
// }
// else if ((p1.position & (UInt32)game_position.POS_DEFENSE) > 0)
// else if ((p1.position & (UInt32)CardPosition.POS_DEFENSE) > 0)
// {
// res += InterString.Get("(防御)");
// res += InterString.Get("(守备)");
// }
// else if ((p1.position & (UInt32)game_position.POS_FACEUP) > 0)
// else if ((p1.position & (UInt32)CardPosition.FaceUp) > 0)
// {
// res += InterString.Get("(表侧)");
// }
// else if ((p1.position & (UInt32)game_position.POS_DEFENSE) > 0)
// else if ((p1.position & (UInt32)CardPosition.POS_DEFENSE) > 0)
// {
// res += InterString.Get("(里侧)");
// }
......@@ -1096,4 +1098,13 @@ public static class UIHelper
foreach (Transform achild in Transforms)
achild.gameObject.layer = parent.layer;
}
internal static Vector3 get_close(Vector3 input_vector, Camera cam, float l)
{
Vector3 o = Vector3.zero;
Vector3 scr = cam.WorldToScreenPoint(input_vector);
scr.z -= l;
o = cam.ScreenToWorldPoint(scr);
return o;
}
}
......@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.IO;
using UnityEngine;
using YGOSharp.OCGWrapper.Enums;
public class GameField : OCGobject
{
......@@ -90,14 +91,14 @@ public class GameField : OCGobject
Program.I().ocgcore.AddUpdateAction_s(Update);
gameHiddenButtons.Add(new gameHiddenButton(game_location.LOCATION_DECK, 0));
gameHiddenButtons.Add(new gameHiddenButton(game_location.LOCATION_EXTRA, 0));
gameHiddenButtons.Add(new gameHiddenButton(game_location.LOCATION_GRAVE, 0));
gameHiddenButtons.Add(new gameHiddenButton(game_location.LOCATION_REMOVED, 0));
gameHiddenButtons.Add(new gameHiddenButton(game_location.LOCATION_DECK, 1));
gameHiddenButtons.Add(new gameHiddenButton(game_location.LOCATION_EXTRA, 1));
gameHiddenButtons.Add(new gameHiddenButton(game_location.LOCATION_GRAVE, 1));
gameHiddenButtons.Add(new gameHiddenButton(game_location.LOCATION_REMOVED, 1));
gameHiddenButtons.Add(new gameHiddenButton(CardLocation.Deck, 0));
gameHiddenButtons.Add(new gameHiddenButton(CardLocation.Extra, 0));
gameHiddenButtons.Add(new gameHiddenButton(CardLocation.Grave, 0));
gameHiddenButtons.Add(new gameHiddenButton(CardLocation.Removed, 0));
gameHiddenButtons.Add(new gameHiddenButton(CardLocation.Deck, 1));
gameHiddenButtons.Add(new gameHiddenButton(CardLocation.Extra, 1));
gameHiddenButtons.Add(new gameHiddenButton(CardLocation.Grave, 1));
gameHiddenButtons.Add(new gameHiddenButton(CardLocation.Removed, 1));
LOCATION_DECK_0 = create(Program.I().new_ui_textMesh, Vector3.zero, new Vector3(60, 0, 0)).GetComponent<TMPro.TextMeshPro>();
LOCATION_EXTRA_0 = create(Program.I().new_ui_textMesh, Vector3.zero, new Vector3(60, 0, 0)).GetComponent<TMPro.TextMeshPro>();
......@@ -260,15 +261,15 @@ public class GameField : OCGobject
rightT.transform.localScale = new Vector3(1f / Program.fieldSize, 1f / Program.fieldSize, 1f / Program.fieldSize);
rightT.transform.localPosition = new Vector3(((1f - 1f / Program.fieldSize) * (float)(rightT.width)) / 3.5f, 0, 0);
relocateTextMesh(LOCATION_DECK_0, 0, game_location.LOCATION_DECK, new Vector3(0, 0, -3f));
relocateTextMesh(LOCATION_EXTRA_0, 0, game_location.LOCATION_EXTRA, new Vector3(0, 0, -3f));
relocateTextMesh(LOCATION_REMOVED_0, 0, game_location.LOCATION_REMOVED, new Vector3(0, 0, -3f));
relocateTextMesh(LOCATION_GRAVE_0, 0, game_location.LOCATION_GRAVE, new Vector3(0, 0, -3f));
relocateTextMesh(LOCATION_DECK_0, 0, CardLocation.Deck, new Vector3(0, 0, -3f));
relocateTextMesh(LOCATION_EXTRA_0, 0, CardLocation.Extra, new Vector3(0, 0, -3f));
relocateTextMesh(LOCATION_REMOVED_0, 0, CardLocation.Removed, new Vector3(0, 0, -3f));
relocateTextMesh(LOCATION_GRAVE_0, 0, CardLocation.Grave, new Vector3(0, 0, -3f));
relocateTextMesh(LOCATION_DECK_1, 1, game_location.LOCATION_DECK, new Vector3(0, 0, -3f));
relocateTextMesh(LOCATION_EXTRA_1, 1, game_location.LOCATION_EXTRA, new Vector3(0, 0, -3f));
relocateTextMesh(LOCATION_REMOVED_1, 1, game_location.LOCATION_REMOVED, new Vector3(0, 0, -3f));
relocateTextMesh(LOCATION_GRAVE_1, 1, game_location.LOCATION_GRAVE, new Vector3(0, 0, -3f));
relocateTextMesh(LOCATION_DECK_1, 1, CardLocation.Deck, new Vector3(0, 0, -3f));
relocateTextMesh(LOCATION_EXTRA_1, 1, CardLocation.Extra, new Vector3(0, 0, -3f));
relocateTextMesh(LOCATION_REMOVED_1, 1, CardLocation.Removed, new Vector3(0, 0, -3f));
relocateTextMesh(LOCATION_GRAVE_1, 1, CardLocation.Grave, new Vector3(0, 0, -3f));
label.transform.localPosition = new Vector3(-5f * (Program.fieldSize - 1), 0, -15.5f * Program.fieldSize);
......@@ -277,7 +278,7 @@ public class GameField : OCGobject
prelong = isLong;
for (int i = 0; i < field_disabled_containers.Count; i++)
{
if (field_disabled_containers[i].p.location == (UInt32)game_location.LOCATION_SZONE)
if (field_disabled_containers[i].p.location == (UInt32)CardLocation.SpellZone)
{
if (field_disabled_containers[i].p.controller == 1)
{
......@@ -400,7 +401,7 @@ public class GameField : OCGobject
}
private static void relocateTextMesh(TMPro.TextMeshPro obj, uint con, game_location loc, Vector3 poi)
private static void relocateTextMesh(TMPro.TextMeshPro obj, uint con, CardLocation loc, Vector3 poi)
{
obj.transform.position = UIHelper.getCamGoodPosition(Program.I().ocgcore.get_point_worldposition(new GPS
{
......@@ -610,7 +611,7 @@ public class GameField : OCGobject
if (Program.I().ocgcore.MasterRule >= 4)
{
if (gps.location == (int)game_location.LOCATION_SZONE)
if (gps.location == (int)CardLocation.SpellZone)
{
if (gps.position == 0 || gps.position == 4)
{
......
using System;
using UnityEngine;
using YGOSharp.OCGWrapper.Enums;
public class gameHiddenButton : OCGobject
{
public game_location location;
public CardLocation location;
public int player;
......@@ -11,7 +12,7 @@ public class gameHiddenButton : OCGobject
GPS ps;
public gameHiddenButton(game_location l, int p)
public gameHiddenButton(CardLocation l, int p)
{
ps = new GPS();
ps.controller = (UInt32)p;
......@@ -107,7 +108,7 @@ public class gameHiddenButton : OCGobject
{
if (player == 0)
{
if (location == game_location.LOCATION_DECK)
if (location == CardLocation.Deck)
{
if (Program.I().book.lab != null)
{
......@@ -120,7 +121,7 @@ public class gameHiddenButton : OCGobject
}
if (player == 1)
{
if (location == game_location.LOCATION_DECK)
if (location == CardLocation.Deck)
{
if (Program.I().book.labop != null)
{
......@@ -173,7 +174,7 @@ public class gameHiddenButton : OCGobject
{
if (player == 0)
{
if (location == game_location.LOCATION_DECK)
if (location == CardLocation.Deck)
{
if (Program.I().book.lab != null)
{
......@@ -201,7 +202,7 @@ public class gameHiddenButton : OCGobject
if (player == 1)
{
if (location == game_location.LOCATION_DECK)
if (location == CardLocation.Deck)
{
if (Program.I().book.labop != null)
{
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -5,6 +5,7 @@ using System;
using System.Linq;
using ICSharpCode.SharpZipLib.Core;
using ICSharpCode.SharpZipLib.Zip;
using System.Threading;
public class Program : MonoBehaviour
{
......@@ -295,16 +296,16 @@ public class Program : MonoBehaviour
#elif UNITY_ANDROID //Android
/**
* public String GamePath(String path) {
* GAME_DIR = Environment.getExternalStorageDirectory().toString(); + path;
* GAME_DIR = Environment.getExternalStorageDirectory().toString() + path;
* return GAME_DIR;
* }
*/
ANDROID_GAME_PATH = jo.Call<string>("GamePath", "/ygocore/");
Screen.sleepTimeout = SleepTimeout.NeverSleep;
if (!File.Exists(ANDROID_GAME_PATH + "updates/version2.0.txt"))
if (!File.Exists(ANDROID_GAME_PATH + "updates/version2.2.txt"))
{
string filePath = Application.streamingAssetsPath + "/ygocore.zip";
string filePath = Application.streamingAssetsPath + "/ygopro2-data.zip";
var www = new WWW(filePath);
while (!www.isDone) { }
byte[] bytes = www.bytes;
......@@ -321,16 +322,26 @@ public class Program : MonoBehaviour
byte[] bytes = www.bytes;
ExtractZipFile(bytes, ANDROID_GAME_PATH);
}
/* //选择性更新
if (!File.Exists(ANDROID_GAME_PATH + "updates/version2.2.2.txt"))
{
string filePath = Application.streamingAssetsPath + "/update.zip";
var www = new WWW(filePath);
while (!www.isDone) { }
byte[] bytes = www.bytes;
ExtractZipFile(bytes, ANDROID_GAME_PATH);
//File.Create(ANDROID_GAME_PATH + ".nomedia");
}
*/
Environment.CurrentDirectory = ANDROID_GAME_PATH;
System.IO.Directory.SetCurrentDirectory(ANDROID_GAME_PATH);
#elif UNITY_IPHONE //iPhone
string GamePaths = Application.persistentDataPath + "/ygopro2/";
if (!File.Exists(GamePaths + "updates/version2.0.txt"))
if (!File.Exists(GamePaths + "updates/version2.2.txt"))
{
string filePath = Application.streamingAssetsPath + "/ygocore.zip";
ExtractZipFile(System.IO.File.ReadAllBytes(filePath), GamePaths);
string filePath = Application.streamingAssetsPath + "/ygopro2-data.zip";
ExtractZipFile(System.IO.File.ReadAllBytes(filePath), GamePaths);
}
Environment.CurrentDirectory = GamePaths;
System.IO.Directory.SetCurrentDirectory(GamePaths);
......@@ -346,21 +357,42 @@ public class Program : MonoBehaviour
});
go(300, () =>
{
UpdateClient();
//UpdateClient();
InterString.initialize("config/translation.conf");
GameTextureManager.initialize();
Config.initialize("config/config.conf");
GameStringManager.initialize("strings.conf");//YGOMobile Paths
if (File.Exists("cdb/cards.cdb"))
{
YGOSharp.CardsManager.initialize("cdb/cards.cdb");
}
if (File.Exists("cdb/strings.conf"))
{
GameStringManager.initialize("cdb/strings.conf");
}
if (File.Exists("cdb/lflist.conf"))
{
YGOSharp.BanlistManager.initialize("cdb/lflist.conf");
}
if (File.Exists("strings.conf"))
{
GameStringManager.initialize("strings.conf");//YGOMobile Paths
}
if (File.Exists("lflist.conf"))
{
YGOSharp.BanlistManager.initialize("lflist.conf");//YGOMobile Paths
}
if (File.Exists("cards.cdb"))
{
YGOSharp.CardsManager.initialize("cards.cdb");//YGOMobile Paths
}
if (File.Exists("expansions/lflist.conf"))
{
YGOSharp.BanlistManager.initialize("expansions/lflist.conf");
}
if (File.Exists("expansions/strings.conf"))
{
GameStringManager.initialize("expansions/strings.conf");
}
YGOSharp.BanlistManager.initialize("lflist.conf");//YGOMobile Paths
YGOSharp.CardsManager.initialize("cards.cdb");//YGOMobile Paths
if (Directory.Exists("expansions"))
{
......@@ -393,29 +425,31 @@ public class Program : MonoBehaviour
}
YGOSharp.PacksManager.initializeSec();
initializeALLservants();
//if(GameTextureManager.AutoPicDownload)
(new Thread(()=>{UpdateClient();})).Start();
loadResources();
#if !UNITY_EDITOR && UNITY_ANDROID //Android Java Test
if (!File.Exists("updates/image_version1.1.txt"))//用于检查更新
#if !UNITY_EDITOR && UNITY_AN6DROID //Android Java Test
if (!File.Exists("updates/image_version1.2.txt"))//用于检查更新
{
if (File.Exists("pics.zip")) {//YGOMobile内置的卡图包
if (File.Exists("pics.zip")) {
jo.Call("doExtractZipFile", "pics.zip", ANDROID_GAME_PATH);
File.Copy("updates/version2.0.txt", "updates/image_version1.1.txt", true);
File.Copy("updates/version2.0.txt", "updates/image_version1.2.txt", true);
} else {
//Application.OpenURL("https://www.taptap.com/app/37972");
jo.Call("showToast", "没有发现卡图包,是否未安装YGOMobile");
jo.Call("doDownloadZipFile", "https://github.com/Unicorn369/pro2_android_closeup/releases/download/1.0/pics.zip");
}
}
/**
* 使用Termux编译生成的:libgdiplus.so (https://github.com/Unicorn369/libgdiplus-Android)
* 经测试,只有Android 6.0以上才能正常使用。为了让Android 6.0以下的也能凑合使用立绘效果,需做判断
* 部分6.0机型可能无法正常使用,如需支持需要额外判断型号:华为、OPPO、VIVO、乐视等机型
*
* public boolean APIVersion() {
* if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
* return true;
* } else {
* return true;
* return false;
* }
* }
*/
......@@ -480,10 +514,21 @@ public class Program : MonoBehaviour
{
try
{
if(!Directory.Exists("cdb")) {
Directory.CreateDirectory("cdb");
}
/*if(File.Exists("cdb/cards.cdb"))
File.Delete("cdb/cards.cdb");
if(File.Exists("cdb/lflist.conf"))
File.Delete("cdb/lflist.conf");
if(File.Exists("cdb/strings.conf"))
File.Delete("cdb/strings.conf");*/
HttpDldFile httpDldFile = new HttpDldFile();
httpDldFile.Download("http://koishi.222diy.gdn/ygopro/cards.cdb", Path.Combine("cdb/", "cards.cdb"));
httpDldFile.Download("http://koishi.222diy.gdn/ygopro/lflist.conf", Path.Combine("config/", "lflist.conf"));
httpDldFile.Download("http://koishi.222diy.gdn/ygopro/strings.conf", Path.Combine("config/", "strings.conf"));
httpDldFile.Download("http://koishi.222diy.gdn/ygopro/cards.cdb", "cdb/cards.cdb");
httpDldFile.Download("http://koishi.222diy.gdn/ygopro/lflist.conf", "cdb/lflist.conf");
httpDldFile.Download("http://koishi.222diy.gdn/ygopro/strings.conf", "cdb/strings.conf");
}
catch (Exception e)
{
......@@ -1020,7 +1065,7 @@ public class Program : MonoBehaviour
_padScroll = 0;
}
GUI.Label(new Rect(10, 5, 200, 200), "[Version 2.2] " + "FPS: " + m_FPS);
GUI.Label(new Rect(10, 5, 200, 200), "[Ver 1.034.9-7] " + "FPS: " + m_FPS);
}
void Update()
......
using System;
using YGOSharp;
using YGOSharp.OCGWrapper.Enums;
public class GameStringHelper
{
public static string fen = "/";
......@@ -149,27 +150,27 @@ public class GameStringHelper
{
}
if (differ(card.Attribute,(int)game_attributes.ATTRIBUTE_EARTH))
if (differ(card.Attribute, (int)CardAttribute.Earth))
{
re = "[F4A460]" + re + "[-]";
}
if (differ(card.Attribute, (int)game_attributes.ATTRIBUTE_WATER))
if (differ(card.Attribute, (int)CardAttribute.Water))
{
re = "[D1EEEE]" + re + "[-]";
}
if (differ(card.Attribute, (int)game_attributes.ATTRIBUTE_FIRE))
if (differ(card.Attribute, (int)CardAttribute.Fire))
{
re = "[F08080]" + re + "[-]";
}
if (differ(card.Attribute, (int)game_attributes.ATTRIBUTE_WIND))
if (differ(card.Attribute, (int)CardAttribute.Wind))
{
re = "[B3EE3A]" + re + "[-]";
}
if (differ(card.Attribute, (int)game_attributes.ATTRIBUTE_LIGHT))
if (differ(card.Attribute, (int)CardAttribute.Light))
{
re = "[EEEE00]" + re + "[-]";
}
if (differ(card.Attribute, (int)game_attributes.ATTRIBUTE_DARK))
if (differ(card.Attribute, (int)CardAttribute.Dark))
{
re = "[FF00FF]" + re + "[-]";
}
......@@ -182,9 +183,9 @@ public class GameStringHelper
string re = "";
try
{
if (differ(card.Type, (long)game_type.TYPE_MONSTER)) re += "[ff8000]" + mainType(card.Type);
else if (differ(card.Type, (long)game_type.TYPE_SPELL)) re += "[7FFF00]" + mainType(card.Type);
else if (differ(card.Type, (long)game_type.TYPE_TRAP)) re += "[dda0dd]" + mainType(card.Type);
if (differ(card.Type, (long)CardType.Monster)) re += "[ff8000]" + mainType(card.Type);
else if (differ(card.Type, (long)CardType.Spell)) re += "[7FFF00]" + mainType(card.Type);
else if (differ(card.Type, (long)CardType.Trap)) re += "[dda0dd]" + mainType(card.Type);
else re += "[ff8000]" + mainType(card.Type);
re += "[-]";
}
......@@ -206,9 +207,9 @@ public class GameStringHelper
re += "[ff8000]";
re += "["+secondType(data.Type)+"]";
if ((data.Type & (int)game_type.link) == 0)
if ((data.Type & (int)CardType.Link) == 0)
{
if ((data.Type & (int)game_type.TYPE_XYZ) > 0)
if ((data.Type & (int)CardType.Xyz) > 0)
{
re += " " + race(data.Race) + fen + attribute(data.Attribute) + fen + data.Level.ToString() + "[sup]☆[/sup]";
}
......@@ -251,7 +252,7 @@ public class GameStringHelper
re += "[sup]ATK[/sup]" + data.Attack.ToString() + " ";
}
}
if ((data.Type & (int)game_type.link) == 0)
if ((data.Type & (int)CardType.Link) == 0)
{
if (data.Defense < 0)
{
......
......@@ -12,7 +12,7 @@ public static class GameStringManager
public static List<hashedString> hashedStrings = new List<hashedString>();
public static List<hashedString> xilies = new List<hashedString>();
public static List<hashedString> xilies = new List<hashedString>();
public static int helper_stringToInt(string str)
{
......@@ -86,7 +86,7 @@ public static class GameStringManager
return re;
}
internal static string get_unsafe(int hashCode)
internal static string get_unsafe(int hashCode)
{
string re = "";
foreach (hashedString s in hashedStrings)
......@@ -100,7 +100,7 @@ public static class GameStringManager
return re;
}
internal static string get(int description)
internal static string get(int description)
{
string a = "";
if (description < 10000)
......@@ -122,5 +122,30 @@ public static class GameStringManager
}
return a;
}
internal static string formatLocation(uint location, uint sequence)
{
if (location == 0x8)
{
if (sequence < 5)
return get(1003);
else if (sequence == 5)
return get(1008);
else
return get(1009);
}
uint filter = 1;
int i = 1000;
for (; filter != 0x100 && filter != location; filter <<= 1)
++i;
if (filter == location)
return get(i);
else
return "???";
}
internal static string formatLocation(GPS gps)
{
return formatLocation(gps.location, gps.sequence);
}
}
......@@ -5,6 +5,7 @@ using System.Collections.Generic;
using System.IO;
using System.Threading;
using UnityEngine;
using YGOSharp.OCGWrapper.Enums;
public enum GameTextureType
{
......@@ -190,7 +191,7 @@ public class GameTextureManager
public static Texture2D phase = null;
public static bool AutoPicDownload=true;
public static bool AutoPicDownload;
public static Texture2D rs = null;
......@@ -219,7 +220,7 @@ public class GameTextureManager
pic = waitLoadStack.Pop();
try
{
pic.pCard = (YGOSharp.CardsManager.Get((int)pic.code).Type & (int)game_type.TYPE_PENDULUM) > 0;
pic.pCard = (YGOSharp.CardsManager.Get((int)pic.code).Type & (int)CardType.Pendulum) > 0;
}
catch (Exception e)
{
......@@ -248,7 +249,7 @@ public class GameTextureManager
}
catch (Exception e)
{
Debug.Log("erroe 1" + e.ToString());
Debug.Log("error 1" + e.ToString());
}
}
}
......@@ -817,8 +818,8 @@ public class GameTextureManager
if (!File.Exists(path) && pic.code != 0 && AutoPicDownload)
{
//YGOMobile (177x254)
df.Download("http://koishi.222diy.gdn/smallpics/" + pic.code.ToString() + ".jpg", "expansions/pics/" + pic.code.ToString() + ".jpg");
path = "expansions/pics/" + pic.code.ToString() + ".jpg";
df.Download("http://koishi.222diy.gdn/ygopro/pics/" + pic.code.ToString() + ".jpg", "picture/card/" + pic.code.ToString() + ".jpg");
path = "picture/card/" + pic.code.ToString() + ".jpg";
}
/*if (!File.Exists(path) && pic.code != 0 && AutoPicDownload)
{
......
......@@ -32,6 +32,14 @@ public class HttpDldFile
{
client.Timeout = 3500;
}
if (Path.GetExtension(filename).Contains("cdb"))
{
client.Timeout = 30000;
}
if (Path.GetExtension(filename).Contains("conf"))
{
client.Timeout = 3000;
}
client.DownloadFile(new Uri(url), filename + ".tmp");
}
flag = true;
......@@ -96,4 +104,4 @@ public class TimeoutWebClient : WebClient
request.Timeout = Timeout;
return request;
}
}
\ No newline at end of file
}
This diff is collapsed.
......@@ -109,12 +109,7 @@ public class RoomList : WindowServantSP
string portString = UIHelper.getByName<UIInput>(Program.I().selectServer.gameObject, "port_").value;
string pswString = roomPsw;
string versionString = UIHelper.getByName<UIInput>(Program.I().selectServer.gameObject, "version_").value;
if (versionString == "")
{
UIHelper.getByName<UIInput>(Program.I().selectServer.gameObject, "version_").value = "0x1348";
versionString = "0x1348";
}
Program.I().roomList.hide();
Program.I().selectServer.KF_onlineGame(Name, ipString, portString, versionString, pswString);
}
}
\ No newline at end of file
}
......@@ -3,6 +3,8 @@ using System.Collections.Generic;
using System.IO;
using System.Text.RegularExpressions;
using UnityEngine;
using YGOSharp.OCGWrapper.Enums;
public class selectDeck : WindowServantSP
{
......@@ -87,6 +89,8 @@ public class selectDeck : WindowServantSP
((DeckManager)Program.I().deckManager).returnAction =
() =>
{
if (((DeckManager)Program.I().deckManager).deckDirty)
{
RMSshow_yesOrNoOrCancle(
"deckManager_returnAction"
, InterString.Get("要保存卡组的变更吗?")
......@@ -94,6 +98,10 @@ public class selectDeck : WindowServantSP
, new messageSystemValue { hint = "no", value = "no" }
, new messageSystemValue { hint = "cancle", value = "cancle" }
);
}
else {
Program.I().shiftToServant(Program.I().selectDeck);
}
};
}
}
......@@ -318,15 +326,15 @@ public class selectDeck : WindowServantSP
{
mainAll++;
YGOSharp.Card c = YGOSharp.CardsManager.Get(item);
if ((c.Type & (UInt32)game_type.TYPE_MONSTER) > 0)
if ((c.Type & (UInt32)CardType.Monster) > 0)
{
mainMonster++;
}
if ((c.Type & (UInt32)game_type.TYPE_SPELL) > 0)
if ((c.Type & (UInt32)CardType.Spell) > 0)
{
mainSpell++;
}
if ((c.Type & (UInt32)game_type.TYPE_TRAP) > 0)
if ((c.Type & (UInt32)CardType.Trap) > 0)
{
mainTrap++;
}
......@@ -349,15 +357,15 @@ public class selectDeck : WindowServantSP
{
sideAll++;
YGOSharp.Card c = YGOSharp.CardsManager.Get(item);
if ((c.Type & (UInt32)game_type.TYPE_MONSTER) > 0)
if ((c.Type & (UInt32)CardType.Monster) > 0)
{
sideMonster++;
}
if ((c.Type & (UInt32)game_type.TYPE_SPELL) > 0)
if ((c.Type & (UInt32)CardType.Spell) > 0)
{
sideSpell++;
}
if ((c.Type & (UInt32)game_type.TYPE_TRAP) > 0)
if ((c.Type & (UInt32)CardType.Trap) > 0)
{
sideTrap++;
}
......@@ -379,19 +387,19 @@ public class selectDeck : WindowServantSP
{
extraAll++;
YGOSharp.Card c = YGOSharp.CardsManager.Get(item);
if ((c.Type & (UInt32)game_type.TYPE_FUSION) > 0)
if ((c.Type & (UInt32)CardType.Fusion) > 0)
{
extraFusion++;
}
if ((c.Type & (UInt32)game_type.TYPE_SYNCHRO) > 0)
if ((c.Type & (UInt32)CardType.Synchro) > 0)
{
extraSync++;
}
if ((c.Type & (UInt32)game_type.TYPE_XYZ) > 0)
if ((c.Type & (UInt32)CardType.Xyz) > 0)
{
extraXyz++;
}
if ((c.Type & (UInt32)game_type.link) > 0)
if ((c.Type & (UInt32)CardType.Link) > 0)
{
extraLink++;
}
......
using UnityEngine;
using System;
using System.Collections.Generic;
using YGOSharp.OCGWrapper.Enums;
public class Servant
{
public GameObject gameObject;
......@@ -301,6 +303,7 @@ public class Servant
false,
Program.ui_main_2d
);
UIHelper.InterGameObject(toolBar);
fixScreenProblem();
}
......@@ -655,7 +658,7 @@ public class Servant
sp.width = 470;
for (int i = 0; i < options.Count; i++)
{
Vector2 v = ui_helper.get_hang_lie(i, 5);
Vector2 v = UIHelper.get_hang_lie(i, 5);
float hang = v.x;
float lie = v.y;
GameObject btn = create
......@@ -692,14 +695,24 @@ public class Servant
UIHelper.registEvent(currentMSwindow, "atk_", ES_RMSpremono, atk);
UIHelper.registEvent(currentMSwindow, "def_", ES_RMSpremono, def);
UITexture atkpic = UIHelper.getByName<UITexture>(currentMSwindow, "atkPic_");
UIButton defbutton = UIHelper.getByName<UIButton>(currentMSwindow, "def_");
if (Int32.Parse(atk.value) == (int)CardPosition.FaceUpDefence)
{
atkpic.transform.localRotation = Quaternion.Euler(0f, 0f, 90f);
defbutton.transform.localPosition = new Vector3(72.8f, 2f, 0f);
}
else
{
atkpic.transform.localRotation = Quaternion.Euler(0f, 0f, 0f);
defbutton.transform.localPosition = new Vector3(62.8f, 0f, 0f);
}
cardPicLoader cardPicLoader_ = currentMSwindow.AddComponent<cardPicLoader>();
cardPicLoader_.code = code;
cardPicLoader_.uiTexture = UIHelper.getByName<UITexture>(currentMSwindow, "atkPic_");
cardPicLoader_.uiTexture = atkpic;
cardPicLoader_ = currentMSwindow.AddComponent<cardPicLoader>();
if (Int32.Parse(def.value) != 8)
cardPicLoader_.code = code;
else
cardPicLoader_.code = 0;
cardPicLoader_.code = (Int32.Parse(def.value) == (int)CardPosition.FaceDownDefence) ? 0 : code;
cardPicLoader_.uiTexture = UIHelper.getByName<UITexture>(currentMSwindow, "defPic_");
}
......
......@@ -52,7 +52,7 @@ public class Setting : WindowServant2D
{
if (collection[i].name.Length > 0 && collection[i].name[0] == '*')
{
if (collection[i].name == "*mouseParticle" || collection[i].name == "*showOff" || collection[i].name == "*Efield")
if (collection[i].name == "*mouseParticle" || collection[i].name == "*showOff" || collection[i].name == "*Efield" || collection[i].name == "*AutoPicDownload")
{
collection[i].value = UIHelper.fromStringToBool(Config.Get(collection[i].name, "1"));
}
......
fileFormatVersion: 2
guid: 0c4a0e6dafcb7be4d9579cc54c1a3547
timeCreated: 1469113965
licenseType: Pro
guid: e66911d20963de546aa086d0b4dc28fb
timeCreated: 1554574266
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
......
......@@ -194,6 +194,7 @@ public class DeckManager : ServantWithCardDescription
UIHelper.setParent(gameObjectSearch, Program.ui_main_2d);
SetBar(Program.I().new_bar_changeSide, 0, 230);
UIPopupList_banlist = null;
UIHelper.registEvent(toolBar, "rand_", rand);
UIHelper.registEvent(toolBar, "sort_", sort);
UIHelper.registEvent(toolBar, "finish_", home);
UIHelper.registEvent(toolBar, "input_", onChat);
......@@ -290,6 +291,7 @@ public class DeckManager : ServantWithCardDescription
}
System.IO.File.WriteAllText("deck/" + deckInUse + ".ydk", value, System.Text.Encoding.UTF8);
}
deckDirty = false;
RMSshow_none(InterString.Get("卡组[?]已经被保存。", deckInUse));
return true;
}
......@@ -357,6 +359,7 @@ public class DeckManager : ServantWithCardDescription
Debug.Log(e);
}
}
deckDirty = true;
}
bool detailShowed = false;
......@@ -755,11 +758,11 @@ public class DeckManager : ServantWithCardDescription
}
if (ifType(GameStringManager.get_unsafe(1075)))
{
returnValue |= (UInt32)CardType.Monster + (UInt32)CardType.sp;
returnValue |= (UInt32)CardType.Monster + (UInt32)CardType.SpSummon;
}
if (ifType(GameStringManager.get_unsafe(1076)))
{
returnValue |= (UInt32)CardType.Monster + (UInt32)CardType.link;
returnValue |= (UInt32)CardType.Monster + (UInt32)CardType.Link;
}
}
if (UIPopupList_main.value == GameStringManager.get_unsafe(1313))
......@@ -1163,6 +1166,7 @@ public class DeckManager : ServantWithCardDescription
destroyCard(deck.IRemoved[i]);
}
deck = new YGOSharp.Deck();
deckDirty = false;
((CardDescription)Program.I().cardDescription).setTitle("");
base.hide();
}
......@@ -1291,6 +1295,7 @@ public class DeckManager : ServantWithCardDescription
MonoCardInDeckManager_.cardData.cloneTo(card.cardData);
card.gameObject.layer = 16;
deck.IMain.Add(card);
deckDirty = true;
ArrangeObjectDeck(true);
ShowObjectDeck();
}
......@@ -1308,13 +1313,14 @@ public class DeckManager : ServantWithCardDescription
{
if (deck.GetCardCount(cardPicLoader_.data.Id) < currentBanlist.GetQuantity(cardPicLoader_.data.Id))
{
if ((cardPicLoader_.data.Type & (UInt32)YGOSharp.OCGWrapper.Enums.CardType.Token) == 0)
if ((cardPicLoader_.data.Type & (UInt32)CardType.Token) == 0)
{
MonoCardInDeckManager card = createCard();
card.transform.position = card.getGoodPosition(4);
card.cardData = cardPicLoader_.data;
card.gameObject.layer = 16;
deck.IMain.Add(card);
deckDirty = true;
cardInDragging = card;
card.beginDrag();
}
......@@ -1333,6 +1339,7 @@ public class DeckManager : ServantWithCardDescription
}
else
{
deckDirty = true;
ArrangeObjectDeck(true);
ShowObjectDeck();
}
......@@ -1377,13 +1384,13 @@ public class DeckManager : ServantWithCardDescription
if (isSide)
{
if (
(MonoCardInDeckManager_.cardData.Type & (UInt32)YGOSharp.OCGWrapper.Enums.CardType.Fusion) > 0
(MonoCardInDeckManager_.cardData.Type & (UInt32)CardType.Fusion) > 0
||
(MonoCardInDeckManager_.cardData.Type & (UInt32)YGOSharp.OCGWrapper.Enums.CardType.Synchro) > 0
(MonoCardInDeckManager_.cardData.Type & (UInt32)CardType.Synchro) > 0
||
(MonoCardInDeckManager_.cardData.Type & (UInt32)YGOSharp.OCGWrapper.Enums.CardType.Xyz) > 0
(MonoCardInDeckManager_.cardData.Type & (UInt32)CardType.Xyz) > 0
||
(MonoCardInDeckManager_.cardData.Type & (UInt32)YGOSharp.OCGWrapper.Enums.CardType.link) > 0
(MonoCardInDeckManager_.cardData.Type & (UInt32)CardType.Link) > 0
)
{
deck.IExtra.Add(MonoCardInDeckManager_);
......@@ -1400,8 +1407,9 @@ public class DeckManager : ServantWithCardDescription
deck.ISide.Add(MonoCardInDeckManager_);
deck.IMain.Remove(MonoCardInDeckManager_);
deck.IExtra.Remove(MonoCardInDeckManager_);
}
ShowObjectDeck();
}
deckDirty = true;
ShowObjectDeck();
}
}
}
......@@ -1421,13 +1429,13 @@ public class DeckManager : ServantWithCardDescription
deck.Side.Add(card.cardData.Id);
}
else if (
(data.Type & (UInt32)YGOSharp.OCGWrapper.Enums.CardType.Fusion) > 0
(data.Type & (UInt32)CardType.Fusion) > 0
||
(data.Type & (UInt32)YGOSharp.OCGWrapper.Enums.CardType.Synchro) > 0
(data.Type & (UInt32)CardType.Synchro) > 0
||
(data.Type & (UInt32)YGOSharp.OCGWrapper.Enums.CardType.Xyz) > 0
(data.Type & (UInt32)CardType.Xyz) > 0
||
(data.Type & (UInt32)YGOSharp.OCGWrapper.Enums.CardType.link) > 0
(data.Type & (UInt32)CardType.Link) > 0
)
{
deck.IExtra.Add(card);
......@@ -1437,16 +1445,19 @@ public class DeckManager : ServantWithCardDescription
{
deck.IMain.Add(card);
deck.Main.Add(card.cardData.Id);
}
}
deckDirty = true;
}
}
public YGOSharp.Deck deck = new YGOSharp.Deck();
public bool deckDirty = false;
public void loadDeckFromYDK(string path)
{
FromYDKtoCodedDeck(path, out deck);
FormCodedDeckToObjectDeck();
deckDirty = false;
}
public static void FromYDKtoCodedDeck(string path, out YGOSharp.Deck deck)
......@@ -1496,13 +1507,13 @@ public class DeckManager : ServantWithCardDescription
default:
{
YGOSharp.Card card = YGOSharp.CardsManager.Get(code);
if ((card.Type & (UInt32)YGOSharp.OCGWrapper.Enums.CardType.Fusion) > 0
if ((card.Type & (UInt32)CardType.Fusion) > 0
||
(card.Type & (UInt32)YGOSharp.OCGWrapper.Enums.CardType.Synchro) > 0
(card.Type & (UInt32)CardType.Synchro) > 0
||
(card.Type & (UInt32)YGOSharp.OCGWrapper.Enums.CardType.Xyz) > 0
(card.Type & (UInt32)CardType.Xyz) > 0
||
(card.Type & (UInt32)YGOSharp.OCGWrapper.Enums.CardType.link) > 0)
(card.Type & (UInt32)CardType.Link) > 0)
{
deck.Extra.Add(code);
deck.Deck_O.Extra.Add(code);
......@@ -1613,13 +1624,13 @@ public class DeckManager : ServantWithCardDescription
if (p.z > -8)
{
if (
(deckTemp[i].cardData.Type & (UInt32)YGOSharp.OCGWrapper.Enums.CardType.Fusion) > 0
(deckTemp[i].cardData.Type & (UInt32)CardType.Fusion) > 0
||
(deckTemp[i].cardData.Type & (UInt32)YGOSharp.OCGWrapper.Enums.CardType.Synchro) > 0
(deckTemp[i].cardData.Type & (UInt32)CardType.Synchro) > 0
||
(deckTemp[i].cardData.Type & (UInt32)YGOSharp.OCGWrapper.Enums.CardType.Xyz) > 0
(deckTemp[i].cardData.Type & (UInt32)CardType.Xyz) > 0
||
(deckTemp[i].cardData.Type & (UInt32)YGOSharp.OCGWrapper.Enums.CardType.link) > 0
(deckTemp[i].cardData.Type & (UInt32)CardType.Link) > 0
)
{
deck.IExtra.Add(deckTemp[i]);
......@@ -1646,11 +1657,13 @@ public class DeckManager : ServantWithCardDescription
YGOSharp.Deck.sort((List<MonoCardInDeckManager>)deck.IMain);
YGOSharp.Deck.sort((List<MonoCardInDeckManager>)deck.IExtra);
YGOSharp.Deck.sort((List<MonoCardInDeckManager>)deck.ISide);
deckDirty = true;
}
void RandObjectDeck()
{
YGOSharp.Deck.rand((List<MonoCardInDeckManager>)deck.IMain);
deckDirty = true;
}
......
......@@ -53,7 +53,7 @@ public class PrecyOcg
}
else
{
Config.ClientVersion = 0x233c;
//Config.ClientVersion = 0x233c;
Program.I().shiftToServant(Program.I().ocgcore);
}
((CardDescription)Program.I().cardDescription).setTitle(path);
......@@ -78,7 +78,7 @@ public class PrecyOcg
}
else
{
Config.ClientVersion = 0x233c;
//Config.ClientVersion = 0x233c;
Program.I().shiftToServant(Program.I().ocgcore);
}
}
......
......@@ -7,30 +7,128 @@ using System.Threading;
public class SelectServer : WindowServantSP
{
UIPopupList list;
UIPopupList serversList;
UIInput inputIP;
UIInput inputPort;
UIInput inputPsw;
UIInput inputVersion;
UISprite inputIP_;
UISprite inputPort_;
public override void initialize()
{
createWindow(Program.I().new_ui_selectServer);
UIHelper.registEvent(gameObject, "exit_", onClickExit);
UIHelper.registEvent(gameObject, "face_", onClickFace);
UIHelper.registEvent(gameObject, "join_", onClickJoin);
//UIHelper.registEvent(gameObject, "roomList_", onClickRoomList);
UIHelper.getByName<UIInput>(gameObject, "name_").value = Config.Get("name","一秒一喵机会");
serversList = UIHelper.getByName<UIPopupList>(gameObject, "server");
serversList.fontSize = 20;
serversList.value = Config.Get("serversPicker", "[OCG]Koishi");
UIHelper.registEvent(gameObject, "server", pickServer);
UIHelper.getByName<UIInput>(gameObject, "name_").value = Config.Get("name", "YGOPro2 User");
//UIHelper.getByName<UIInput>(gameObject, "name_").defaultText = "昵称不能为空";
list = UIHelper.getByName<UIPopupList>(gameObject, "history_");
UIHelper.registEvent(gameObject,"history_", onSelected);
name = Config.Get("name", "一秒一喵机会");
UIHelper.registEvent(gameObject, "history_", onSelected);
name = Config.Get("name", "YGOPro2 User");
inputIP = UIHelper.getByName<UIInput>(gameObject, "ip_");
inputIP_ = UIHelper.getByName<UISprite>(gameObject, "ip_");
//inputIP.defaultText = "服务器IP 或 域名";
inputPort = UIHelper.getByName<UIInput>(gameObject, "port_");
inputPort_ = UIHelper.getByName<UISprite>(gameObject, "port_");
//inputPort.defaultText = "端口";
inputPsw = UIHelper.getByName<UIInput>(gameObject, "psw_");
inputVersion = UIHelper.getByName<UIInput>(gameObject, "version_");
//inputPsw.defaultText = "房间密码";
//inputVersion = UIHelper.getByName<UIInput>(gameObject, "version_");
set_version("0x" + String.Format("{0:X}", Config.ClientVersion));
SetActiveFalse();
}
private void pickServer()
{
string server = serversList.value;
switch (server)
{
case "[OCG]Koishi":
{
UIHelper.getByName<UIInput>(gameObject, "ip_").value = "koishi.moecube.com";
UIHelper.getByName<UIInput>(gameObject, "port_").value = "7210";
Config.Set("serversPicker", "[OCG]Koishi");
list.enabled = false;
inputIP_.enabled = false;
inputPort_.enabled = false;
break;
}
case "[OCG]Mercury233":
{
UIHelper.getByName<UIInput>(gameObject, "ip_").value = "s1.ygo233.com";
UIHelper.getByName<UIInput>(gameObject, "port_").value = "233";
Config.Set("serversPicker", "[OCG]Mercury233");
list.enabled = false;
inputIP_.enabled = false;
inputPort_.enabled = false;
break;
}
case "[TCG]Koishi":
{
UIHelper.getByName<UIInput>(gameObject, "ip_").value = "koishi.moecube.com";
UIHelper.getByName<UIInput>(gameObject, "port_").value = "1311";
Config.Set("serversPicker", "[TCG]Koishi");
list.enabled = false;
inputIP_.enabled = false;
inputPort_.enabled = false;
break;
}
case "[Custom]YGOPro 222DIY":
{
UIHelper.getByName<UIInput>(gameObject, "ip_").value = "koishi.moecube.com";
UIHelper.getByName<UIInput>(gameObject, "port_").value = "222";
Config.Set("serversPicker", "[Custom]YGOPro 222DIY");
list.enabled = false;
inputIP_.enabled = false;
inputPort_.enabled = false;
break;
}
case "[轮抽服]2Pick":
{
UIHelper.getByName<UIInput>(gameObject, "ip_").value = "2pick.mycard.moe";
UIHelper.getByName<UIInput>(gameObject, "port_").value = "765";
Config.Set("serversPicker", "[轮抽服]2Pick");
list.enabled = false;
inputIP_.enabled = false;
inputPort_.enabled = false;
break;
}
case "[OCG&TCG]한국서버":
{
UIHelper.getByName<UIInput>(gameObject, "ip_").value = "cygopro.fun25.co.kr";
UIHelper.getByName<UIInput>(gameObject, "port_").value = "17225";
Config.Set("serversPicker", "[OCG&TCG]한국서버");
list.enabled = false;
inputIP_.enabled = false;
inputPort_.enabled = false;
break;
}
default:
{
Config.Set("serversPicker", "[Custom]");
list.enabled = true;
inputIP_.enabled = true;
inputPort_.enabled = true;
break;
}
}
}
void onSelected()
{
if (list != null)
......@@ -76,7 +174,7 @@ public class SelectServer : WindowServantSP
inputIP.value = ip;
inputPort.value = port;
inputPsw.value = psw;
inputVersion.value = version;
//inputVersion.value = version;
}
public override void show()
......@@ -143,11 +241,6 @@ public class SelectServer : WindowServantSP
string portString = UIHelper.getByName<UIInput>(gameObject, "port_").value;
string pswString = UIHelper.getByName<UIInput>(gameObject, "psw_").value;
string versionString = UIHelper.getByName<UIInput>(gameObject, "version_").value;
if (versionString=="")
{
UIHelper.getByName<UIInput>(gameObject, "version_").value = "0x1349";
versionString = "0x1349";
}
KF_onlineGame(Name, ipString, portString, versionString, pswString);
}
......@@ -162,15 +255,10 @@ public class SelectServer : WindowServantSP
string portString = UIHelper.getByName<UIInput>(gameObject, "port_").value;
string pswString = "L";
string versionString = UIHelper.getByName<UIInput>(gameObject, "version_").value;
if (versionString == "")
{
UIHelper.getByName<UIInput>(gameObject, "version_").value = "0x1348";
versionString = "0x1348";
}
KF_onlineGame(Name, ipString, portString, versionString, pswString);
}
public void KF_onlineGame(string Name,string ipString, string portString, string versionString, string pswString="")
public void KF_onlineGame(string Name, string ipString, string portString, string versionString, string pswString = "")
{
name = Name;
Config.Set("name", name);
......
using UnityEngine;
using System;
using System.Collections.Generic;
using System.IO;
using System.Threading;
public class SelectServer : WindowServantSP
{
UIPopupList list;
UIInput inputIP;
UIInput inputPort;
UIInput inputPsw;
UIInput inputVersion;
public override void initialize()
{
createWindow(Program.I().new_ui_selectServer);
UIHelper.registEvent(gameObject, "exit_", onClickExit);
UIHelper.registEvent(gameObject, "face_", onClickFace);
UIHelper.registEvent(gameObject, "join_", onClickJoin);
UIHelper.getByName<UIInput>(gameObject, "name_").value = Config.Get("name","一秒一喵机会");
list = UIHelper.getByName<UIPopupList>(gameObject, "history_");
UIHelper.registEvent(gameObject,"history_", onSelected);
name = Config.Get("name", "一秒一喵机会");
inputIP = UIHelper.getByName<UIInput>(gameObject, "ip_");
inputPort = UIHelper.getByName<UIInput>(gameObject, "port_");
inputPsw = UIHelper.getByName<UIInput>(gameObject, "psw_");
//inputVersion = UIHelper.getByName<UIInput>(gameObject, "version_");
set_version("0x" + String.Format("{0:X}", Config.ClientVersion));
SetActiveFalse();
}
void onSelected()
{
if (list != null)
{
readString(list.value);
}
}
private void readString(string str)
{
str = str.Substring(1, str.Length - 1);
string version = "", remain = "";
string[] splited;
splited = str.Split(")");
try
{
version = splited[0];
remain = splited[1];
}
catch (Exception)
{
}
splited = remain.Split(":");
string ip = "";
try
{
ip = splited[0];
remain = splited[1];
}
catch (Exception)
{
}
splited = remain.Split(" ");
string psw = "", port = "";
try
{
port = splited[0];
psw = splited[1];
}
catch (Exception)
{
}
inputIP.value = ip;
inputPort.value = port;
inputPsw.value = psw;
//inputVersion.value = version;
}
public override void show()
{
base.show();
Program.I().room.RMSshow_clear();
printFile(true);
Program.charge();
}
public override void preFrameFunction()
{
base.preFrameFunction();
Menu.checkCommend();
}
void printFile(bool first)
{
list.Clear();
if (File.Exists("config/hosts.conf") == false)
{
File.Create("config/hosts.conf").Close();
}
string txtString = File.ReadAllText("config/hosts.conf");
string[] lines = txtString.Replace("\r", "").Split("\n");
for (int i = 0; i < lines.Length; i++)
{
if (i == 0)
{
if (first)
{
readString(lines[i]);
}
}
list.AddItem(lines[i]);
}
}
void onClickExit()
{
Program.I().shiftToServant(Program.I().menu);
if (TcpHelper.tcpClient != null)
{
if (TcpHelper.tcpClient.Connected)
{
TcpHelper.tcpClient.Close();
}
}
}
public void set_version(string str)
{
UIHelper.getByName<UIInput>(gameObject, "version_").value = str;
}
void onClickJoin()
{
if (!isShowed)
{
return;
}
string Name = UIHelper.getByName<UIInput>(gameObject, "name_").value;
string ipString = UIHelper.getByName<UIInput>(gameObject, "ip_").value;
string portString = UIHelper.getByName<UIInput>(gameObject, "port_").value;
string pswString = UIHelper.getByName<UIInput>(gameObject, "psw_").value;
string versionString = UIHelper.getByName<UIInput>(gameObject, "version_").value;
KF_onlineGame(Name, ipString, portString, versionString, pswString);
}
public void onClickRoomList()
{
if (!isShowed)
{
return;
}
string Name = UIHelper.getByName<UIInput>(gameObject, "name_").value;
string ipString = UIHelper.getByName<UIInput>(gameObject, "ip_").value;
string portString = UIHelper.getByName<UIInput>(gameObject, "port_").value;
string pswString = "L";
string versionString = UIHelper.getByName<UIInput>(gameObject, "version_").value;
KF_onlineGame(Name, ipString, portString, versionString, pswString);
}
public void KF_onlineGame(string Name, string ipString, string portString, string versionString, string pswString = "")
{
name = Name;
Config.Set("name", name);
if (ipString == "" || portString == "" || versionString == "")
{
RMSshow_onlyYes("", InterString.Get("非法输入!请检查输入的主机名。"), null);
}
else
{
if (name != "")
{
string fantasty = "(" + versionString + ")" + ipString + ":" + portString + " " + pswString;
list.items.Remove(fantasty);
list.items.Insert(0, fantasty);
list.value = fantasty;
if (list.items.Count>5)
{
list.items.RemoveAt(list.items.Count - 1);
}
string all = "";
for (int i = 0; i < list.items.Count; i++)
{
all += list.items[i] + "\r\n";
}
File.WriteAllText("config/hosts.conf", all);
printFile(false);
(new Thread(() => { TcpHelper.join(ipString, name, portString, pswString,versionString); })).Start();
}
else
{
RMSshow_onlyYes("", InterString.Get("昵称不能为空。"), null);
}
}
}
GameObject faceShow = null;
public string name = "";
void onClickFace()
{
name = UIHelper.getByName<UIInput>(gameObject, "name_").value;
RMSshow_face("showFace", name);
Config.Set("name", name);
}
}
fileFormatVersion: 2
guid: f327885de3e94cd4187a9a4e91544c1f
folderAsset: yes
timeCreated: 1469172510
licenseType: Pro
guid: c464dbd1ac99e3a43abe843543ea6be6
timeCreated: 1554805035
licenseType: Free
DefaultImporter:
userData:
assetBundleName:
......
......@@ -15,6 +15,7 @@ namespace YGOSharp
public int Level;
public int LScale;
public int RScale;
public int LinkMarker;
public int Attribute;
public int Race;
......@@ -47,6 +48,7 @@ namespace YGOSharp
r.Level = Level;
r.LScale = LScale;
r.RScale = RScale;
r.LinkMarker = LinkMarker;
r.Attribute = Attribute;
r.Race = Race;
r.Attack = Attack;
......@@ -100,9 +102,14 @@ namespace YGOSharp
return ((Type & (int)type) != 0);
}
public bool HasLinkMarker(CardLinkMarker dir)
{
return (LinkMarker & (int)dir) != 0;
}
public bool IsExtraCard()
{
return (HasType(CardType.Fusion) || HasType(CardType.Synchro) || HasType(CardType.Xyz) || HasType(CardType.link));
return (HasType(CardType.Fusion) || HasType(CardType.Synchro) || HasType(CardType.Xyz) || HasType(CardType.Link));
}
internal Card(IDataRecord reader)
......@@ -121,6 +128,7 @@ namespace YGOSharp
this.Level = (int)Level_raw & 0xff;
this.LScale = (int)((Level_raw >> 0x18) & 0xff);
this.RScale = (int)((Level_raw >> 0x10) & 0xff);
this.LinkMarker = this.Defense;
this.Race = reader.GetInt32(8);
this.Attribute = reader.GetInt32(9);
this.Category = reader.GetInt64(10);
......
......@@ -4,7 +4,8 @@ using Mono.Data.Sqlite;
using System;
using System.IO;
using System.Text.RegularExpressions;
using YGOSharp.OCGWrapper.Enums;
namespace YGOSharp
{
internal static class CardsManager
......@@ -19,17 +20,13 @@ namespace YGOSharp
{
nullName = InterString.Get("未知卡片");
nullString = "";
nullString += "欢迎使用:\r\nYGOPro2 For Android";
nullString += "欢迎使用 KoishiPro2 iOS,本软件免责声明:[url=http://koishi.222diy.gdn/lab.html][u]http://koishi.222diy.gdn/lab.html[/u][/url]";
nullString += "\r\n\r\n";
nullString += "KoishiPro2 iOS的用户QQ群627975038,游戏中遇到任何bug欢迎提交";
nullString += "\r\n\r\n";
nullString += "更多关于电脑/安卓版KoishiPro及7210服务器的信息可加QQ群338443272";
nullString += "\r\n\r\n";
nullString += "源码:";
nullString += "\r\n「Android」\r\n[url=https://github.com/purerosefallen/ygopro2][u]https://github.com/purerosefallen/ygopro2[/u][/url]";
//nullString += "\r\nWindows:[url=https://github.com/lllyasviel/YGOProUnity_V2][u]https://github.com/lllyasviel/YGOProUnity_V2[/u][/url]";
//nullString += "\r\n\r\n「Windows」\r\n[url=https://github.com/mercury233/ygopro2][u]https://github.com/mercury233/ygopro2[/u][/url]";
nullString += "\r\n\r\n\r\n";
//nullString += "欢迎加入QQ群:";
//nullString += "\r\n①:[url=https://jq.qq.com/?_wv=1027&k=5nq6xJe][u]649612818[/u][/url]";
//nullString += "\r\n③:[url=https://jq.qq.com/?_wv=1027&k=50MZVQA][u]831010207[/u][/url]";
//nullString += "\r\n②:[url=https://jq.qq.com/?_wv=1027&k=5idyod3][u]559276772[/u][/url]";
nullString += "喜欢游戏王DIY的朋友欢迎来222服QQ群642043095";
using (SqliteConnection connection = new SqliteConnection("Data Source=" + databaseFullPath))
{
connection.Open();
......@@ -117,7 +114,7 @@ namespace YGOSharp
foreach (var item in _cards)
{
Card card = item.Value;
if ((card.Type & (uint)game_type.TYPE_TOKEN) == 0)
if ((card.Type & (uint)CardType.Token) == 0)
{
if (getName == ""
|| Regex.Replace(card.Name, getName,"miaowu", RegexOptions.IgnoreCase) != card.Name
......@@ -231,7 +228,7 @@ namespace YGOSharp
{
switch (getsearchCode[i])
{
case (int)OCGWrapper.Enums.searchCode.OPCODE_ADD:
case (int)searchCode.OPCODE_ADD:
if (stack.Count >= 2)
{
int rhs = stack.Pop();
......@@ -239,7 +236,7 @@ namespace YGOSharp
stack.Push(lhs + rhs);
}
break;
case (int)OCGWrapper.Enums.searchCode.OPCODE_SUB:
case (int)searchCode.OPCODE_SUB:
if (stack.Count >= 2)
{
int rhs = stack.Pop();
......@@ -247,7 +244,7 @@ namespace YGOSharp
stack.Push(lhs - rhs);
}
break;
case (int)OCGWrapper.Enums.searchCode.OPCODE_MUL:
case (int)searchCode.OPCODE_MUL:
if (stack.Count >= 2)
{
int rhs = stack.Pop();
......@@ -255,7 +252,7 @@ namespace YGOSharp
stack.Push(lhs * rhs);
}
break;
case (int)OCGWrapper.Enums.searchCode.OPCODE_DIV:
case (int)searchCode.OPCODE_DIV:
if (stack.Count >= 2)
{
int rhs = stack.Pop();
......@@ -263,7 +260,7 @@ namespace YGOSharp
stack.Push(lhs / rhs);
}
break;
case (int)OCGWrapper.Enums.searchCode.OPCODE_AND:
case (int)searchCode.OPCODE_AND:
if (stack.Count >= 2)
{
int rhs = stack.Pop();
......@@ -280,7 +277,7 @@ namespace YGOSharp
}
}
break;
case (int)OCGWrapper.Enums.searchCode.OPCODE_OR:
case (int)searchCode.OPCODE_OR:
if (stack.Count >= 2)
{
int rhs = stack.Pop();
......@@ -297,14 +294,14 @@ namespace YGOSharp
}
}
break;
case (int)OCGWrapper.Enums.searchCode.OPCODE_NEG:
case (int)searchCode.OPCODE_NEG:
if (stack.Count >= 1)
{
int rhs = stack.Pop();
stack.Push(-rhs);
}
break;
case (int)OCGWrapper.Enums.searchCode.OPCODE_NOT:
case (int)searchCode.OPCODE_NOT:
if (stack.Count >= 1)
{
int rhs = stack.Pop();
......@@ -319,7 +316,7 @@ namespace YGOSharp
}
}
break;
case (int)OCGWrapper.Enums.searchCode.OPCODE_ISCODE:
case (int)searchCode.OPCODE_ISCODE:
if (stack.Count >= 1)
{
int code = stack.Pop();
......@@ -334,7 +331,7 @@ namespace YGOSharp
}
}
break;
case (int)OCGWrapper.Enums.searchCode.OPCODE_ISSETCARD:
case (int)searchCode.OPCODE_ISSETCARD:
if (stack.Count >= 1)
{
if (IfSetCard(stack.Pop(), card.Setcode))
......@@ -347,7 +344,7 @@ namespace YGOSharp
}
}
break;
case (int)OCGWrapper.Enums.searchCode.OPCODE_ISTYPE:
case (int)searchCode.OPCODE_ISTYPE:
if (stack.Count >= 1)
{
if ((stack.Pop() & card.Type) > 0)
......@@ -360,7 +357,7 @@ namespace YGOSharp
}
}
break;
case (int)OCGWrapper.Enums.searchCode.OPCODE_ISRACE:
case (int)searchCode.OPCODE_ISRACE:
if (stack.Count >= 1)
{
if ((stack.Pop() & card.Race) > 0)
......@@ -373,7 +370,7 @@ namespace YGOSharp
}
}
break;
case (int)OCGWrapper.Enums.searchCode.OPCODE_ISATTRIBUTE:
case (int)searchCode.OPCODE_ISATTRIBUTE:
if (stack.Count >= 1)
{
if ((stack.Pop() & card.Attribute) > 0)
......@@ -394,13 +391,13 @@ namespace YGOSharp
if (stack.Count != 1 || stack.Pop() == 0)
return false;
return
card.Id == (int)YGOSharp.OCGWrapper.Enums.Sp.CARD_MARINE_DOLPHIN
card.Id == (int)TwoNameCards.CARD_MARINE_DOLPHIN
||
card.Id == (int)YGOSharp.OCGWrapper.Enums.Sp.CARD_TWINKLE_MOSS
card.Id == (int)TwoNameCards.CARD_TWINKLE_MOSS
||
(!(card.Alias != 0)
&& ((card.Type & ((int)YGOSharp.OCGWrapper.Enums.CardType.Monster + (int)YGOSharp.OCGWrapper.Enums.CardType.Token)))
!= ((int)YGOSharp.OCGWrapper.Enums.CardType.Monster + (int)YGOSharp.OCGWrapper.Enums.CardType.Token));
&& ((card.Type & ((int)CardType.Monster + (int)CardType.Token)))
!= ((int)CardType.Monster + (int)CardType.Token));
}
public static bool IfSetCard(int setCodeToAnalyse, long setCodeFromCard)
......
......@@ -11,7 +11,7 @@
Divine = 0x40,
}
public enum Sp
public enum TwoNameCards
{
CARD_MARINE_DOLPHIN = 78734254,
CARD_TWINKLE_MOSS = 13857930,
......
namespace YGOSharp.OCGWrapper.Enums
{
public enum CardLinkMarker
{
BottomLeft = 0x01,
Bottom = 0x02,
BottomRight = 0x04,
Left = 0x08,
Right = 0x20,
TopLeft = 0x40,
Top = 0x80,
TopRight = 0x100
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 34feabd62902b19489d8e3e2fe27d886
timeCreated: 1469113965
licenseType: Pro
guid: 15d8ac695c446594ea28abe34e500bf1
timeCreated: 1554560396
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
......
......@@ -10,6 +10,9 @@
Removed = 0x20,
Extra = 0x40,
Overlay = 0x80,
Onfield = 0x0C
Onfield = 0x0C,
Unknown = 0,
Search = 0x800
}
}
\ No newline at end of file
......@@ -12,16 +12,3 @@
Defence = 0xC
}
}
class CardFac
{
public static int zuoxia = 1 << (1 - 1);
public static int xia = 1 << (2 - 1);
public static int youxia = 1 << (3 - 1);
public static int zuo = 1 << (4 - 1);
public static int you = 1 << (6 - 1);
public static int zuoshang = 1 << (7 - 1);
public static int shang = 1 << (8 - 1);
public static int youshang = 1 << (9 - 1);
}
\ No newline at end of file
......@@ -23,6 +23,8 @@
SeaSerpent = 0x40000,
Reptile = 0x80000,
Psycho = 0x100000,
DivineBeast = 0x200000
DivineBeast = 0x200000,
Wyrm = 0x800000,
Cyberse = 0x1000000
}
}
\ No newline at end of file
......@@ -25,7 +25,7 @@
Toon = 0x400000,
Xyz = 0x800000,
Pendulum = 0x1000000,
sp = 0x2000000,
link = 0x4000000,
SpSummon = 0x2000000,
Link = 0x4000000
}
}
\ No newline at end of file
......@@ -25,7 +25,7 @@
SelectSum = 23,
SelectDisfield = 24,
SortCard = 25,
SelectUnselectCard = 26,
SelectUnselect = 26,
ConfirmDecktop = 30,
ConfirmCards = 31,
ShuffleDeck = 32,
......@@ -73,7 +73,7 @@
RemoveCounter = 102,
Attack = 110,
Battle = 111,
AttackDiabled = 112,
AttackDisabled = 112,
DamageStepStart = 113,
DamageStepEnd = 114,
MissedEffect = 120,
......
......@@ -23,6 +23,7 @@
Owner = 0x40000,
Status = 0x80000,
LScale = 0x200000,
RScale = 0x400000
RScale = 0x400000,
Link = 0x800000
}
}
\ No newline at end of file
}
Assets/face/0.png

11.1 KB | W: | H:

Assets/face/0.png

10.7 KB | W: | H:

Assets/face/0.png
Assets/face/0.png
Assets/face/0.png
Assets/face/0.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/1.png

11.9 KB | W: | H:

Assets/face/1.png

9.07 KB | W: | H:

Assets/face/1.png
Assets/face/1.png
Assets/face/1.png
Assets/face/1.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/10.png

10.8 KB | W: | H:

Assets/face/10.png

9.34 KB | W: | H:

Assets/face/10.png
Assets/face/10.png
Assets/face/10.png
Assets/face/10.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/11.png

10.7 KB | W: | H:

Assets/face/11.png

10.4 KB | W: | H:

Assets/face/11.png
Assets/face/11.png
Assets/face/11.png
Assets/face/11.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/12.png

10.9 KB | W: | H:

Assets/face/12.png

8.93 KB | W: | H:

Assets/face/12.png
Assets/face/12.png
Assets/face/12.png
Assets/face/12.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/13.png

11.2 KB | W: | H:

Assets/face/13.png

11.4 KB | W: | H:

Assets/face/13.png
Assets/face/13.png
Assets/face/13.png
Assets/face/13.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/14.png

12.3 KB | W: | H:

Assets/face/14.png

10.1 KB | W: | H:

Assets/face/14.png
Assets/face/14.png
Assets/face/14.png
Assets/face/14.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/15.png

11.3 KB | W: | H:

Assets/face/15.png

7.47 KB | W: | H:

Assets/face/15.png
Assets/face/15.png
Assets/face/15.png
Assets/face/15.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/16.png

12.7 KB | W: | H:

Assets/face/16.png

8.44 KB | W: | H:

Assets/face/16.png
Assets/face/16.png
Assets/face/16.png
Assets/face/16.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/17.png

13.3 KB | W: | H:

Assets/face/17.png

11.2 KB | W: | H:

Assets/face/17.png
Assets/face/17.png
Assets/face/17.png
Assets/face/17.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/18.png

10.5 KB | W: | H:

Assets/face/18.png

10.6 KB | W: | H:

Assets/face/18.png
Assets/face/18.png
Assets/face/18.png
Assets/face/18.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/19.png

12.7 KB | W: | H:

Assets/face/19.png

11.1 KB | W: | H:

Assets/face/19.png
Assets/face/19.png
Assets/face/19.png
Assets/face/19.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/2.png

11.1 KB | W: | H:

Assets/face/2.png

8.67 KB | W: | H:

Assets/face/2.png
Assets/face/2.png
Assets/face/2.png
Assets/face/2.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/20.png

14.3 KB | W: | H:

Assets/face/20.png

10.2 KB | W: | H:

Assets/face/20.png
Assets/face/20.png
Assets/face/20.png
Assets/face/20.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/21.png

13.9 KB | W: | H:

Assets/face/21.png

8.65 KB | W: | H:

Assets/face/21.png
Assets/face/21.png
Assets/face/21.png
Assets/face/21.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/22.png

14 KB | W: | H:

Assets/face/22.png

10.4 KB | W: | H:

Assets/face/22.png
Assets/face/22.png
Assets/face/22.png
Assets/face/22.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/23.png

13.9 KB | W: | H:

Assets/face/23.png

10.5 KB | W: | H:

Assets/face/23.png
Assets/face/23.png
Assets/face/23.png
Assets/face/23.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/24.png

12.8 KB | W: | H:

Assets/face/24.png

9.18 KB | W: | H:

Assets/face/24.png
Assets/face/24.png
Assets/face/24.png
Assets/face/24.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/25.png

13.5 KB | W: | H:

Assets/face/25.png

9.07 KB | W: | H:

Assets/face/25.png
Assets/face/25.png
Assets/face/25.png
Assets/face/25.png
  • 2-up
  • Swipe
  • Onion skin
Assets/face/26.png

13.8 KB | W: | H:

Assets/face/26.png

11 KB | W: | H:

Assets/face/26.png
Assets/face/26.png
Assets/face/26.png
Assets/face/26.png
  • 2-up
  • Swipe
  • Onion skin
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment