Commit a28fd775 authored by redsuncore's avatar redsuncore

Movable Tile highlighted, character information shown

이동 가능한 타일 보임.
캐릭터 정보 보임.
F누르면 현재 focus된 캐릭터로 이동
Civmodel 업데이트
Tile과 색상에 1:1 매칭
x,y축 어긋낫던 것 패치

todo : move에 대한 presenter로의 인수 전달 방법
parent dfbc0ae0
fileFormatVersion: 2
guid: 51a4ccfc53e3bd3489fedcd4adb9e458
timeCreated: 1516476806
timeCreated: 1516736761
licenseType: Free
DefaultImporter:
externalObjects: {}
......
fileFormatVersion: 2
guid: f6fc0c038e7ce6640910e93606bc6076
timeCreated: 1516476806
timeCreated: 1516736761
licenseType: Free
DefaultImporter:
externalObjects: {}
......
fileFormatVersion: 2
guid: ca5230cd6c8beb14c8cc71518e2a9e75
timeCreated: 1516735962
licenseType: Free
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 4
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -1
wrapU: 1
wrapV: 1
wrapW: -1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 4b7d8b910edb3184b9204fbbdfe71a0a
timeCreated: 1516735962
licenseType: Free
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 4
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -1
wrapU: 1
wrapV: 1
wrapW: -1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: ee06ad56b545a884ea2ecbf0cef2c6f2
timeCreated: 1516735962
licenseType: Free
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 4
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -1
wrapU: 1
wrapV: 1
wrapW: -1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 633f8dfe3942ee34c8f420e0c874a542
timeCreated: 1516735962
licenseType: Free
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 4
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -1
wrapU: 1
wrapV: 1
wrapW: -1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 3de364c47e62ce14ea9a581557d4f001
timeCreated: 1516735962
licenseType: Free
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 4
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -1
wrapU: 1
wrapV: 1
wrapW: -1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:
......@@ -456,6 +456,80 @@ CanvasRenderer:
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 67744650}
--- !u!1 &79274634
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_Component:
- component: {fileID: 79274635}
- component: {fileID: 79274637}
- component: {fileID: 79274636}
m_Layer: 5
m_Name: UnitHP
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &79274635
RectTransform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 79274634}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.9999998, y: 0.9999998, z: 0.9999998}
m_Children: []
m_Father: {fileID: 1474852285}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 112.860855, y: 52.300003}
m_SizeDelta: {x: 50, y: 22.9}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &79274636
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 79274634}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 14
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 10
m_MaxSize: 40
m_Alignment: 0
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: HP/HP
--- !u!222 &79274637
CanvasRenderer:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 79274634}
--- !u!1 &109918046
GameObject:
m_ObjectHideFlags: 0
......@@ -1883,6 +1957,13 @@ MonoBehaviour:
AttackButton: {fileID: 1727812862}
SkillButton: {fileID: 901706016}
WaitButton: {fileID: 1126363246}
UnitInfo: {fileID: 1474852284}
Portrait: {fileID: 109918048}
UnitName: {fileID: 1172741147}
UnitAttack: {fileID: 1442304659}
UnitDefence: {fileID: 500725362}
UnitAP: {fileID: 1749593798}
UnitHP: {fileID: 79274636}
--- !u!1 &1115068180
GameObject:
m_ObjectHideFlags: 0
......@@ -2617,6 +2698,8 @@ RectTransform:
- {fileID: 1172741146}
- {fileID: 1442304658}
- {fileID: 500725361}
- {fileID: 79274635}
- {fileID: 1749593797}
m_Father: {fileID: 1096861575}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
......@@ -3143,6 +3226,80 @@ CanvasRenderer:
type: 2}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1734458425}
--- !u!1 &1749593796
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_Component:
- component: {fileID: 1749593797}
- component: {fileID: 1749593799}
- component: {fileID: 1749593798}
m_Layer: 5
m_Name: UnitAP
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1749593797
RectTransform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1749593796}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.9999998, y: 0.9999998, z: 0.9999998}
m_Children: []
m_Father: {fileID: 1474852285}
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -84, y: -59.3}
m_SizeDelta: {x: 50, y: 22.9}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1749593798
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1749593796}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 14
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 10
m_MaxSize: 40
m_Alignment: 0
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: AP/AP
--- !u!222 &1749593799
CanvasRenderer:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1749593796}
--- !u!1 &1818153440
GameObject:
m_ObjectHideFlags: 0
......
......@@ -20,10 +20,33 @@ public class CIVGameManager : MonoBehaviour, IView {
public static Sprite[] UnitSprites => unitSprites;
private static Sprite[] unitSprites;
public enum TileSprite { None, Blue, Green, Red, Yellow }
public enum TileSprite { None, Blue, Green, Red, Yellow, Orange, Magenta, Gray, IronGreen, DarkPurple }
public static Sprite[] TileSprites => tileSprites;
private static Sprite[] tileSprites;
public GameObject cellSelected = null;
public CivModel.Terrain.Point? pointSelected;
private bool readyToClick = false;
public int Width { get; set; }
public int Height { get; set; }
public GameObject cellPrefab;
public Camera mainCamera;
public GameObject focusObject;
private GameObject[,] cells;
private Presenter mPresenter;
private Game game;
private IReadOnlyList<CivModel.Player> players;
private Player mainPlayer;
//private CivModel.Terrain gameMapModel;
private static GameObject gameManager;
public Text gold, population, happiness, labor, technology, ultimate;
private int goldnum, popnum, happynum, labnum, technum, ultnum;
/*public void MoveSight(int dx, int dy)
{
mainCamera.transform.Translate(new Vector3(dx, dy, 0));
......@@ -32,9 +55,11 @@ public class CIVGameManager : MonoBehaviour, IView {
public void Refocus()
{
Debug.Log("Refocus Called");
if (pointSelected.HasValue)
{
Focus(pointSelected);
Debug.Log("Focusing" + pointSelected);
}
}
public void Focus(Unit unit)
......@@ -88,9 +113,6 @@ public class CIVGameManager : MonoBehaviour, IView {
}
}
public GameObject cellSelected = null;
public CivModel.Terrain.Point? pointSelected;
private bool readyToClick = false;
public void CastRay()
{
......@@ -143,44 +165,33 @@ public class CIVGameManager : MonoBehaviour, IView {
}
throw new ArgumentNullException();
}
public void Skill()
public GameObject FindCell(CivModel.Terrain.Point pt)
{
if (pt == null)
{
Debug.Log("no Gameobject");
throw new ArgumentNullException();
}
return cells[pt.Position.X, pt.Position.Y];
}
/*public void Skill()
{
if(mPresenter.SelectedActor.GetType() == typeof(Pioneer))
mPresenter.SelectedActor.SpecialActs[0].Act(mPresenter.SelectedActor.PlacedPoint);
}
}*/
private void CameraChange(Vector3 vec)
{
mainCamera.transform.position = new Vector3(vec.x, vec.y, -20);
Debug.Log(vec);
}
public int Width { get; set; }
public int Height { get; set; }
public GameObject cellPrefab;
public Camera mainCamera;
public GameObject focusObject;
private GameObject[,] cells;
private Presenter mPresenter;
//private CivModel.Terrain gameMapModel;
//private IReadOnlyList<CivModel.Player> players;
private static GameObject gameManager;
public Text gold, population, happiness, labor, technology, ultimate;
private int goldnum, popnum, happynum, labnum, technum, ultnum;
void Awake()
{
DontDestroyOnLoad(this);
if (gameManager == null)
{
gameManager = this.gameObject;
mPresenter = new Presenter(this);
}
else
{
......@@ -193,11 +204,12 @@ public class CIVGameManager : MonoBehaviour, IView {
//System.Diagnostics.Debug.Assert(gameObject == null);
if (gameManager == this.gameObject)
{
Width = 10;
Height = 10;
mPresenter = new Presenter(this);
game = mPresenter.Game;
players = game.Players;
mainPlayer = players[0];
Width = game.Terrain.Width;
Height = game.Terrain.Height;
//gameMapModel = mPresenter.Game.Terrain;
//players = mPresenter.Game.Players;
var dss = Enum.GetValues(typeof(DistrictSprite));
districtSprites = new Sprite[dss.Length];
......@@ -232,29 +244,77 @@ public class CIVGameManager : MonoBehaviour, IView {
Destroy(this);
}
goldnum = 10000;
popnum = 1482;
happynum = 42;
labnum = 0;
technum = 124;
ultnum = 0;
goldnum = Convert.ToInt32(mainPlayer.Gold);
popnum = 0; // not Implemented
happynum = Convert.ToInt32(mainPlayer.Happiness);
labnum = Convert.ToInt32(mainPlayer.Labor);
technum = 0; // not Implemented
ultnum = 0; //not Implemented
}
// Update is called once per frame
void Update() {
void Update()
{
float delt = Time.deltaTime;
pointSelected = mPresenter.FocusedPoint;
if (Input.GetMouseButtonDown(0))
{
if (EventSystem.current.IsPointerOverGameObject() == false)
{
switch (mPresenter.State)
{
case CivPresenter.Presenter.States.Normal:
{
CastRay();
if(cellSelected != null)
if (cellSelected != null)
{
Focus(pointSelected);
//Focus(pointSelected);
}
break;
}
case CivPresenter.Presenter.States.Move:
{
break;
}
case CivPresenter.Presenter.States.MovingAttack:
{
break;
}
case CivPresenter.Presenter.States.HoldingAttack:
{
break;
}
case CivPresenter.Presenter.States.SpecialAct:
{
break;
}
case CivPresenter.Presenter.States.Deploy:
{
break;
}
case CivPresenter.Presenter.States.ProductUI:
{
break;
}
case CivPresenter.Presenter.States.ProductAdd:
{
break;
}
case CivPresenter.Presenter.States.Victory:
{
break;
}
case CivPresenter.Presenter.States.Defeated:
{
break;
}
default: throw new NotImplementedException();
}
}
}
if (Input.GetKeyDown(KeyCode.Escape))
mPresenter.CommandCancel();
......@@ -279,8 +339,52 @@ public class CIVGameManager : MonoBehaviour, IView {
mainCamera.transform.Translate(new Vector3(cameraSpeed * delt, 0, 0));
}
if (Input.GetKey(KeyCode.F))
{
mPresenter.CommandRefocus();
Debug.Log("refocus request");
}
if(Input.GetKey(KeyCode.S))
mPresenter.CommandSelect();
if (Input.GetKey(KeyCode.D))
mPresenter.CommandRemove();
if (Input.GetKey(KeyCode.M))
mPresenter.CommandMove();
if (Input.GetKey(KeyCode.Z))
mPresenter.CommandSkip();
if (Input.GetKey(KeyCode.Q))
mPresenter.CommandMovingAttack();
if (Input.GetKey(KeyCode.W))
mPresenter.CommandHoldingAttack();
if(Input.GetKey(KeyCode.P))
mPresenter.CommandProductUI();
if (Input.GetKey(KeyCode.Keypad1))
mPresenter.CommandNumeric(0);
if (Input.GetKey(KeyCode.Keypad2))
mPresenter.CommandNumeric(1);
if (Input.GetKey(KeyCode.Keypad3))
mPresenter.CommandNumeric(2);
if (Input.GetKey(KeyCode.Keypad4))
mPresenter.CommandNumeric(3);
if (Input.GetKey(KeyCode.Keypad5))
mPresenter.CommandNumeric(4);
if (Input.GetKey(KeyCode.Keypad6))
mPresenter.CommandNumeric(5);
if (Input.GetKey(KeyCode.Keypad7))
mPresenter.CommandNumeric(6);
if (Input.GetKey(KeyCode.Keypad8))
mPresenter.CommandNumeric(7);
if (Input.GetKey(KeyCode.Keypad9))
mPresenter.CommandNumeric(8);
goldnum = Convert.ToInt32(mainPlayer.Gold);
popnum = 0; // not Implemented
happynum = Convert.ToInt32(mainPlayer.Happiness);
labnum = Convert.ToInt32(mainPlayer.Labor);
technum = 0; // not Implemented
ultnum = 0; //not Implemented
gold.text = "금: " + goldnum.ToString();
population.text = "인구: " + popnum.ToString();
......@@ -288,51 +392,78 @@ public class CIVGameManager : MonoBehaviour, IView {
labor.text = "노동력: " + labnum.ToString();
technology.text = "기술력: " + technum.ToString();
ultimate.text = "궁극기: " + ultnum.ToString() + " %";
/*switch(mPresenter.State)
Render(mPresenter.Game.Terrain);
switch (mPresenter.State)//for debug
{
case CivPresenter.Presenter.States.Normal:
{
std::string msg = "Turn: " + std::to_string(m_presenter->Game->TurnNumber);
if (m_presenter->IsThereTodos)
{
msg += " %c\x0f""waiting for command %c\x07(";
msg += "%c\x0f""m%c\x07: move ";
msg += "%c\x0f""q%c\x07: moving attack ";
msg += "%c\x0f""w%c\x07: holding attack ";
msg += "%c\x0f""1-9%c\x07 : special acts ";
msg += "%c\x0f""p%c\x07: production ";
msg += "%c\x0f""z%c\x07: skip)";
Debug.Log("State : Normal");
break;
}
else
case CivPresenter.Presenter.States.Move:
{
msg += " %c\x0fpress Enter for the next turn";
Debug.Log("State : Move");
CivModel.Terrain.Point?[] adj = mPresenter.SelectedActor.PlacedPoint.Value.Adjacents();
for(int i = 0; i < adj.Length; i++)
{
if(adj[i].HasValue)
{
//if(!(adj[i].Value.Type == TerrainType.Ocean || adj[i].Value.Type == TerrainType.Mount))
FindCell(adj[i].Value).GetComponent<TilePrefab>().MovableTile();
}
m_screen->PrintStringEx(0, scrsz.height - 1, 0b00000111, msg);
break;
}
case CivPresenter.Presenter.States.Move:
m_screen->PrintString(0, scrsz.height - 1, 0b00001111, "Move");
break;
}
case CivPresenter.Presenter.States.MovingAttack:
m_screen->PrintString(0, scrsz.height - 1, 0b00001111, "Moving Attack");
{
Debug.Log("State : MovingAttack");
break;
}
case CivPresenter.Presenter.States.HoldingAttack:
m_screen->PrintString(0, scrsz.height - 1, 0b00001111, "Holding Attack");
{
Debug.Log("State : HoldingAttack");
break;
}
case CivPresenter.Presenter.States.SpecialAct:
m_screen->PrintString(0, scrsz.height - 1, 0b00001111,
"SpecialAct: " + std::to_string(m_presenter->StateParam));
{
Debug.Log("State : SpecialAct");
break;
}
case CivPresenter.Presenter.States.Deploy:
m_screen->PrintString(0, scrsz.height - 1, 0b00001111, "Deploy");
{
Debug.Log("State : Deploy");
break;
}*/
Render(mPresenter.Game.Terrain);
}
case CivPresenter.Presenter.States.ProductUI:
{
Debug.Log("State : ProductUI");
break;
}
case CivPresenter.Presenter.States.ProductAdd:
{
Debug.Log("State : ProductAdd");
break;
}
case CivPresenter.Presenter.States.Victory:
{
Debug.Log("State : Deploy");
break;
}
case CivPresenter.Presenter.States.Defeated:
{
Debug.Log("State : Deploy");
break;
}
default:
throw new NotImplementedException();
}
}
// HEX Tiling
......@@ -345,7 +476,7 @@ public class CIVGameManager : MonoBehaviour, IView {
Vector2 pos = new Vector2(2 * i * HexMatrix.innerRadius, (-j) * HexMatrix.outerRadius * 1.5f);
if (j % 2 != 0)
{
pos.x += HexMatrix.innerRadius;
pos.x -= HexMatrix.innerRadius;
}
cells[i, j] = Instantiate(cellPrefab, pos, Quaternion.identity);
cells[i, j].name = String.Format("HexCell({0},{1})", i, j);
......@@ -360,7 +491,15 @@ public class CIVGameManager : MonoBehaviour, IView {
public void TurnEndSignal()
{
if(!mPresenter.IsThereTodos)
{
Debug.Log("End_CommandApply");
mPresenter.CommandApply();
}
else
{
Debug.Log("Todo is remaining");
}
}
}
......@@ -4,16 +4,27 @@ using UnityEngine;
using UnityEngine.UI;
using CivPresenter;
using CivModel;
using CivModel.Common;
public class CameraUIController : MonoBehaviour {
public Canvas CameraCanvas;
public Canvas tempManagementUI;
public Button MoveButton;
public Button AttackButton;
public Button SkillButton;
public Button WaitButton;
public GameObject UnitInfo;
public Image Portrait;
public Text UnitName;
public Text UnitAttack;
public Text UnitDefence;
public Text UnitAP;
public Text UnitHP;
private GameObject gameManagerObject;
private CIVGameManager gameManager;
......@@ -28,29 +39,46 @@ public class CameraUIController : MonoBehaviour {
public void SkillButtonMethod()
{
Debug.Log("SkillButton");
if (mPresenter.SelectedActor.GetType() == typeof(Pioneer))
{
mPresenter.SelectedActor.SpecialActs[0].Act(mPresenter.SelectedActor.PlacedPoint);
Debug.Log("Pioneer set City");
}
}
public void WaitButtonMethod()
{
Debug.Log("WaitButton");
mPresenter.CommandSkip();
}
public void AttackButtonMethod()
{
Debug.Log("AttackButton");
/*if(caseA)
mPresenter.CommandMovingAttack();
else(caseA)
mPresenter.CommandHoldingAttack
*/
}
// Use this for initialization
void Start () {
void Start ()
{
gameManagerObject = CIVGameManager.GetGameManager();
gameManager = gameManagerObject.GetComponent<CIVGameManager>();
mPresenter = gameManager.GetPresenter();
tempManagementUI.enabled = false;
}
// Update is called once per frame
void Update () {
if(!gameManager.pointSelected.HasValue)
void Update ()
{
if(mPresenter.SelectedActor == null)
{
MoveButton.enabled = false;
}
else
{
if (mPresenter.SelectedActor.RemainAP == 0)
{
MoveButton.enabled = false;
}
......@@ -58,6 +86,25 @@ public class CameraUIController : MonoBehaviour {
{
MoveButton.enabled = true;
}
}
if(mPresenter.SelectedActor == null)
{
UnitInfo.SetActive(false);
UnitName.text = "공허";
UnitAttack.text = "공격력 : 무한";
UnitDefence.text = "방어력 : 무한";
UnitAP.text = "어디든지";
}
else
{
UnitInfo.SetActive(true);
UnitName.text = mPresenter.SelectedActor.GetType().ToString().Replace("CivModel.Common.","");
UnitAttack.text = "공격력 : " + mPresenter.SelectedActor.AttackPower.ToString();
UnitDefence.text = "방어력 : " + mPresenter.SelectedActor.DefencePower.ToString();
UnitAP.text = mPresenter.SelectedActor.RemainAP + "/" + mPresenter.SelectedActor.MaxAP;
UnitHP.text = mPresenter.SelectedActor.RemainHP + "/" + mPresenter.SelectedActor.MaxHP;
}
}
}
......@@ -4,6 +4,7 @@ using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.Sprites;
using CivModel;
public class TilePrefab : MonoBehaviour {
[SerializeField]
......@@ -23,15 +24,46 @@ public class TilePrefab : MonoBehaviour {
void Update () {
}
public void MovableTile()
{
string color = "Magenta";
ChangeTile(color);
}
public void ChangeTile(CivModel.Terrain.Point terrainPoint)
{
var t1 = terrainPoint.Type1;
var t2 = terrainPoint.Type2;
var t1 = terrainPoint.Type;
string color = "None";
string[] colors = new string[]{ "Blue", "Green", "Yellow", "Red", "None" };
string[] colors = new string[]{ "Blue", "Green", "Yellow", "Red", "Orange","Magenta", "Gray", "IronGreen", "DarkPurple", "None" };
color = colors[((int)t1 + (int)t2) % 5];
switch (t1)
{
case TerrainType.Plain:
color = colors[1];
break;
case TerrainType.Ocean:
color = colors[0];
break;
case TerrainType.Mount:
color = colors[4];
break;
case TerrainType.Forest:
color = colors[8];
break;
case TerrainType.Swamp:
color = colors[7];
break;
case TerrainType.Tundra:
color = colors[6];
break;
case TerrainType.Ice:
color = colors[9];
break;
case TerrainType.Hill:
color = colors[2];
break;
//3 , 5 not used (RED, MAGENTA) - prototype
}
ChangeTile(color);
}
public void ChangeTile(string tile)
......
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