private GUIButton TopButtom(Vector2 offSet, string text) { GameObject go = new GameObject(); CSpriteRenderer sr = new CSpriteRenderer("SlotNameBar"); Texture2D texture1 = SpriteContainer.Instance.Sprite["SlotNameBar"]; Texture2D texture2 = SpriteContainer.Instance.Sprite["SlotNameBar"]; GUIButton btn = new GUIButton(sr, texture1, texture2, Color.White, Color.YellowGreen); go.AddComponent <CSpriteRenderer>(sr); go.AddComponent <GUIButton>(btn); float newScale = SpriteContainer.Instance.NormalFont.MeasureString(text).X / texture1.Width; Vector2 scale = new Vector2(newScale, 3); sr.LayerDepth = 0.01f; sr.SetOrigin(EOriginPosition.TopLeft); go.MyParent = actionBar; go.Transform.Scale = new Vector2(0.5f, 0.5f) * GraphicsSetting.Instance.ScreenScale * scale; go.Transform.Position = go.MyParent.Transform.Position + new Vector2(offSet.X * GraphicsSetting.Instance.ScreenScale.X, -go.MyParent.GetComponent <CSpriteRenderer>().Sprite.Height *go.MyParent.Transform.Scale.Y + (offSet.Y * GraphicsSetting.Instance.ScreenScale.Y)); TextToSlotBar(text, new Vector2(sr.Sprite.Width, sr.Sprite.Height) * go.Transform.Scale, go, EOriginPosition.TopMid, new Vector2(0, 10)); myScene.Instantiate(go); return(btn); }
private GUIButton ShowTeam(Vector2 offSet, ETeam team) { GameObject go = new GameObject(); CSpriteRenderer sr = new CSpriteRenderer("SlotNameBar"); Texture2D texture1 = SpriteContainer.Instance.Sprite["SlotNameBar"]; Texture2D texture2 = SpriteContainer.Instance.Sprite["SlotNameBar"]; GUIButton btn = new GUIButton(sr, texture1, texture2, Color.White, Color.YellowGreen); go.AddComponent <CSpriteRenderer>(sr); go.AddComponent <GUIButton>(btn); float newScale = SpriteContainer.Instance.NormalFont.MeasureString(team.ToString()).X / texture1.Width; Vector2 scale = new Vector2(newScale, 0.6f); sr.LayerDepth = 0.03f; sr.SetOrigin(EOriginPosition.TopLeft); go.MyParent = actionBarFactionAndTeam; go.Transform.Scale = new Vector2(0.5f, 0.5f) * GraphicsSetting.Instance.ScreenScale * scale; go.Transform.Position = go.MyParent.Transform.Position + new Vector2(offSet.X * GraphicsSetting.Instance.ScreenScale.X, -go.MyParent.GetComponent <CSpriteRenderer>().Sprite.Height *go.MyParent.Transform.Scale.Y + (offSet.Y * GraphicsSetting.Instance.ScreenScale.Y)); TextToSlotBar(team.ToString(), new Vector2(sr.Sprite.Width, sr.Sprite.Height) * go.Transform.Scale, go, EOriginPosition.Mid, new Vector2(0, 0)); myScene.Instantiate(go); btn.OnClick += () => { placeTile.Team = team; placeTile.GameObjectTileMouse.IsActive = false; ResetColorOnTeam(btn); }; return(btn); }
private void MakeButton(Texture2D texture1, Texture2D texture2, string text, Vector2 pos, ref GUIButton btn, string parent) { GameObject go = new GameObject(); CSpriteRenderer sr = new CSpriteRenderer() { LayerDepth = 0.1f }; btn = new GUIButton(sr, texture1, texture2, Color.White, Color.White, SpriteContainer.Instance.MediaevalFont, SpriteContainer.Instance.TextColor, new Vector2(1f, 1f), text); go.AddComponent <CSpriteRenderer>(sr); go.AddComponent <GUIButton>(btn); go.Transform.Scale = new Vector2(0.3f, 0.3f); go.Transform.Position = pos; if (parent == "main") { go.SetMyParent(MainMenuGO); } else if (parent == "campaign") { go.SetMyParent(CampaignMenuGO); } else if (parent == "vikings") { go.SetMyParent(VikingsCampaignGO); } myScene.Instantiate(go); }
public virtual int DeInitializeComponent(int entityID, ECSComponent component) { if (component.GetType() == typeof(CTransform)) { CTransform cTransform = component as CTransform; GameObject.Destroy(cTransform.GameObject); } if (component.GetType() == typeof(CSpriteRenderer)) { CSpriteRenderer cRenderer = component as CSpriteRenderer; DestroyUnityComponent <SpriteRenderer>(entityID, cRenderer); } if (component.GetType() == typeof(CBoxCollider)) { CBoxCollider cBoxCollider = component as CBoxCollider; OnColliderRemoved(entityID, cBoxCollider.BoxCollider); DestroyUnityComponent <BoxCollider>(entityID, cBoxCollider); } if (component.GetType() == typeof(CMeshCollider)) { CMeshCollider cMeshCollider = component as CMeshCollider; OnColliderRemoved(entityID, cMeshCollider.Collider); DestroyUnityComponent <MeshCollider>(entityID, cMeshCollider); } if (component.GetType() == typeof(CSphereCollider)) { CSphereCollider cSphereCollider = component as CSphereCollider; OnColliderRemoved(entityID, cSphereCollider.Collider); DestroyUnityComponent <SphereCollider>(entityID, cSphereCollider); } if (component.GetType() == typeof(CRigidbody)) { CRigidbody cRigidbody = component as CRigidbody; DestroyUnityComponent <Rigidbody>(entityID, cRigidbody); } if (component.GetType() == typeof(CMeshRenderer)) { CMeshRenderer cMeshRenderer = component as CMeshRenderer; DestroyUnityComponent <MeshRenderer>(entityID, cMeshRenderer); DestroyUnityComponent <MeshFilter>(entityID, cMeshRenderer); } return(0); }
private void CreateBorder(Vector2 pos, Texture2D texture, Vector2 scale, float depth) { GameObject go = new GameObject(); CSpriteRenderer iconSR = new CSpriteRenderer(texture); GUIImage iconImage = new GUIImage(iconSR, false, false); go.AddComponent <CSpriteRenderer>(iconSR); go.AddComponent <GUIImage>(iconImage); go.Transform.Scale = scale; go.Transform.Position = pos; myScene.Instantiate(go); iconSR.LayerDepth = depth; }
private void CreateBackground() { GameObject background = new GameObject(); CSpriteRenderer backgroundSR = new CSpriteRenderer("Map", EOriginPosition.TopLeft, 0.01f); GUIImage backgroundImage = new GUIImage(backgroundSR, false, false); background.Transform.Scale = GraphicsSetting.Instance.ScreenSize / new Vector2(2048, 1536); //2048, 1536 is the image's default size background.AddComponent <CSpriteRenderer>(backgroundSR); background.AddComponent <GUIImage>(backgroundImage); myScene.Instantiate(background); }
private void CreateCampaignIcons(string name, Vector2 pos) { GameObject go = new GameObject(); CSpriteRenderer iconSR = new CSpriteRenderer(name, EOriginPosition.TopLeft, 0.02f); GUIImage iconImage = new GUIImage(iconSR, false, false); go.Transform.Position = pos; go.AddComponent <CSpriteRenderer>(iconSR); go.AddComponent <GUIImage>(iconImage); go.SetMyParent(CampaignMenuGO); myScene.Instantiate(go); }
public GameObject Create(string type) { GameObject go = new GameObject(); CSpriteRenderer sr = new CSpriteRenderer(SpriteContainer.Instance.Pixel); CTile tile = new CTile((ETileType)Enum.Parse(typeof(ETileType), type)); go.AddComponent <CSpriteRenderer>(sr); go.AddComponent <CTile>(tile); sr.LayerDepth = 0.0001f; go.Transform.Scale *= 1.0f; return(go); }
private void MakeButton(Texture2D texture1, Texture2D texture2, string text, Vector2 pos) { GameObject go = new GameObject(); CSpriteRenderer sr = new CSpriteRenderer(); GUIButton btn = new GUIButton(sr, texture1, texture2, Color.White, Color.White, SpriteContainer.Instance.MediaevalFont, SpriteContainer.Instance.TextColor, new Vector2(1f, 1f), text); go.AddComponent <CSpriteRenderer>(sr); go.AddComponent <GUIButton>(btn); go.Transform.Scale = new Vector2(0.4f, 0.4f); go.Transform.Position = pos; sr.LayerDepth = 0.5f; myScene.Instantiate(go); }
public void TestUnit(EFaction factions, EUnitType unitType, int number) { GameObject go = new GameObject(); CSpriteRenderer sp = new CSpriteRenderer(SpriteContainer.Instance.Pixel); CAnimator animator = new CAnimator(); CUnit unit = new CUnit(ETeam.Team01, unitType, factions); CMove move = new CMove(); go.AddComponent <CUnit>(unit); go.AddComponent <CMove>(move); go.AddComponent <CSpriteRenderer>(sp); go.AddComponent <CAnimator>(animator); go.Transform.Position -= new Microsoft.Xna.Framework.Vector2(650 - 150 * number, 0); Instantiate(go); }
public void ImageInSlot(Vector2 size, GameObject myParent, TextureSheet2D image) { GameObject go = new GameObject(); CSpriteRenderer sr = new CSpriteRenderer(image); GUIImage GUIImage = new GUIImage(sr, false, false, Color.White, EOriginPosition.Mid, 0.13f); go.AddComponent <CSpriteRenderer>(sr); go.AddComponent <GUIImage>(GUIImage); go.MyParent = myParent; go.SetMyParent(myParent); go.Transform.Scale = new Vector2(size.X / sr.SpriteSheet.Rectangle.Width * 0.6f, size.Y / sr.SpriteSheet.Rectangle.Height * 0.6f); go.Transform.Position = go.MyParent.Transform.Position + new Vector2(size.X / 2, size.Y / 2); myScene.Instantiate(go); }
public void SlotShowBar(Vector2 pos, GameObject myParent, string text) { GameObject go = new GameObject(); CSpriteRenderer sr = new CSpriteRenderer("SlotNameBar"); GUIImage image = new GUIImage(sr, false, true, Color.White, EOriginPosition.Mid, 0.11f); go.AddComponent <CSpriteRenderer>(sr); go.AddComponent <GUIImage>(image); go.MyParent = myParent; go.SetMyParent(myParent); go.Transform.Scale = new Vector2(0.5f, 0.5f) * GraphicsSetting.Instance.ScreenScale; go.Transform.Position = pos + go.MyParent.Transform.Position; TextToSlotBar(text, new Vector2(sr.Sprite.Width, sr.Sprite.Height) * go.Transform.Scale, go); myScene.Instantiate(go); }
private GameObject ActionBarToFactionAndTeam() { GameObject go = new GameObject(); CSpriteRenderer sr = new CSpriteRenderer("ActionBar"); GUIImage image = new GUIImage(sr, false, true, Color.White, EOriginPosition.BottomRight, 0.1f); go.AddComponent <CSpriteRenderer>(sr); go.AddComponent <GUIImage>(image); sr.LayerDepth = 0.02f; go.Transform.Scale = new Vector2(0.2f, 0.5f) * GraphicsSetting.Instance.ScreenScale; go.Transform.Position = new Vector2(GraphicsSetting.Instance.ScreenSize.X, GraphicsSetting.Instance.ScreenSize.Y * 1); myScene.Instantiate(go); return(go); }
private GameObject MadeTile(Vector2 pos, TextureSheet2D textureSheet) { GameObject go = new GameObject(); CSpriteRenderer sr = new CSpriteRenderer(textureSheet); CTile tile = new CTile(TileSize); //CResourceTile resourceTile = new CResourceTile(); sr.LayerDepth = 0f; go.AddComponent <CSpriteRenderer>(sr); go.AddComponent <CTile>(tile); //go.AddComponent<CResourceTile>(resourceTile); go.Transform.Position = new Vector2((int)pos.X, (int)pos.Y) * TileSize; go.Transform.Scale = new Vector2(1.0f, 1.0f); myScene.Instantiate(go); return(go); }
public void JamenTest() { GameObject gameObject = new GameObject(); CSpriteRenderer sr = new CSpriteRenderer(SpriteContainer.Instance.Pixel); GUIButton button = new GUIButton(SpriteContainer.Instance.SpriteSheet["WoodSign"], SpriteContainer.Instance.SpriteSheet["WoodSign"], Color.White, Color.Red, sr); gameObject.AddComponent <CSpriteRenderer>(sr); gameObject.AddComponent <GUIButton>(button); gameObject.Transform.Scale = new Vector2(1, 1); myScene.Instantiate(gameObject); GameObject go = new GameObject(); CSpriteRenderer sr01 = new CSpriteRenderer("SignIconBlacksmith", EOriginPosition.TopLeft, 0.1f); go.AddComponent <CSpriteRenderer>(sr01); go.AddComponent <GUIImage>(); go.Transform.Position = gameObject.Transform.Position + new Vector2(128, 128); myScene.Instantiate(go); button.OnHorering += () => { sr01.SetSprite("SignIconTailoring"); }; button.OnClick += () => { sr01.SetSprite("SignIconBlacksmith"); }; }
public void MakeSlot(Vector2 pos, TextureSheet2D image, string text, ETileType tileType) { GameObject go = new GameObject(); CSpriteRenderer sr = new CSpriteRenderer("Slot"); Texture2D texture1 = SpriteContainer.Instance.Sprite["Slot"]; Texture2D texture2 = SpriteContainer.Instance.Sprite["Slot"]; GUIButton btn = new GUIButton(sr, texture1, texture2, Color.White, Color.YellowGreen); go.AddComponent <CSpriteRenderer>(sr); go.AddComponent <GUIButton>(btn); sr.LayerDepth = 0.12f; go.MyParent = mainGameObject; go.SetMyParent(mainGameObject); go.Transform.Scale = new Vector2(0.5f, 0.5f) * GraphicsSetting.Instance.ScreenScale; go.Transform.Position = pos * GraphicsSetting.Instance.ScreenScale + go.MyParent.Transform.Position; SlotShowBar(new Vector2(sr.Sprite.Width / 2, sr.Sprite.Height) * go.Transform.Scale, go, text); ImageInSlot(new Vector2(sr.Sprite.Width, sr.Sprite.Height) * go.Transform.Scale, go, image); myScene.Instantiate(go); btn.OnClick += () => { placeTile.PickTile(tileType, image); }; }
public virtual int InitializeComponent(int entityID, ECSComponent component) { if (component.GetType() == typeof(CTransform)) { CTransform cTransform = component as CTransform; if (cTransform.GameObject == null) { if (cTransform.PrefabID == null) { cTransform.GameObject = new GameObject(cTransform.Name); } else { GameObject prefab = Resources.Load <GameObject>(cTransform.PrefabID); if (prefab == null) { OnComponentInitializeFailure(cTransform, "Prefab could not be found " + cTransform.PrefabID); return(1); } cTransform.GameObject = GameObject.Instantiate(prefab); } } if (cTransform.LayerID != -1) { cTransform.GameObject.layer = cTransform.LayerID; } if (cTransform.X.Equals(float.NaN)) { cTransform.X = cTransform.GameObject.transform.position.x; } if (cTransform.Y.Equals(float.NaN)) { cTransform.Y = cTransform.GameObject.transform.position.y; } if (cTransform.Z.Equals(float.NaN)) { cTransform.Z = cTransform.GameObject.transform.position.z; } if (cTransform.RotationX.Equals(float.NaN)) { cTransform.RotationX = cTransform.GameObject.transform.eulerAngles.x; } if (cTransform.RotationY.Equals(float.NaN)) { cTransform.RotationY = cTransform.GameObject.transform.eulerAngles.y; } if (cTransform.RotationZ.Equals(float.NaN)) { cTransform.RotationZ = cTransform.GameObject.transform.eulerAngles.z; } if (cTransform.ScaleX.Equals(float.NaN)) { cTransform.ScaleX = cTransform.GameObject.transform.localScale.x; } if (cTransform.ScaleY.Equals(float.NaN)) { cTransform.ScaleY = cTransform.GameObject.transform.localScale.y; } if (cTransform.ScaleZ.Equals(float.NaN)) { cTransform.ScaleZ = cTransform.GameObject.transform.localScale.z; } } if (component.GetType() == typeof(CSpriteRenderer)) { CSpriteRenderer cRenderer = component as CSpriteRenderer; CTransform cTransform = VerifyTransform(cRenderer, entityID); if (cTransform == null) { return(1); } cRenderer.SpriteRenderer = AddOrGetUnityComponent <SpriteRenderer>(cTransform); } if (component.GetType() == typeof(CRigidbody)) { CRigidbody cRigidbody = component as CRigidbody; CTransform cTransform = VerifyTransform(cRigidbody, entityID); if (cTransform == null) { return(1); } bool overwriteValues = (cTransform.GameObject.GetComponent <Rigidbody>() != null); cRigidbody.RigidBody = AddOrGetUnityComponent <Rigidbody>(cTransform); if (overwriteValues) { cRigidbody.IsKinematic = cRigidbody.RigidBody.isKinematic; cRigidbody.UseGravity = cRigidbody.RigidBody.useGravity; } } if (component.GetType() == typeof(CBoxCollider)) { CBoxCollider cBoxCollider = component as CBoxCollider; CTransform cTransform = VerifyTransform(cBoxCollider, entityID); if (cTransform == null) { return(1); } if (cBoxCollider.BoxCollider == null) { cBoxCollider.BoxCollider = AddOrGetUnityComponent <BoxCollider>(cTransform); } OnColliderAdded(cBoxCollider.BoxCollider, entityID); } if (component.GetType() == typeof(CMeshCollider)) { CMeshCollider collider = component as CMeshCollider; CTransform cTransform = VerifyTransform(collider, entityID); CMeshRenderer cMeshRenderer = GetComponent <CMeshRenderer>(collider, entityID); if (cMeshRenderer == null) { return(1); } if (cMeshRenderer.MeshFilter == null) { OnComponentInitializeFailure(collider, "Cannot create mesh collider without mesh filter"); return(1); } if (collider.Collider == null) { collider.Collider = AddOrGetUnityComponent <MeshCollider>(cTransform); collider.Collider.sharedMesh = null; collider.Collider.sharedMesh = cMeshRenderer.MeshFilter.mesh; if (collider.IsConvex) { collider.Collider.convex = true; } } OnColliderAdded(collider.Collider, entityID); } if (component.GetType() == typeof(CSphereCollider)) { CSphereCollider cSphereCollider = component as CSphereCollider; CTransform cTransform = VerifyTransform(cSphereCollider, entityID); if (cTransform == null) { return(1); } if (cSphereCollider.Collider == null) { cSphereCollider.Collider = AddOrGetUnityComponent <SphereCollider>(cTransform); if (cSphereCollider.PhysicsMaterialID != null && (cSphereCollider.Collider.material == null || cSphereCollider.Collider.material.name != cSphereCollider.PhysicsMaterialID)) { cSphereCollider.Collider.material = Resources.Load <PhysicMaterial>(cSphereCollider.PhysicsMaterialID); } } OnColliderAdded(cSphereCollider.Collider, entityID); } if (component.GetType() == typeof(CMeshRenderer)) { CMeshRenderer meshRenderer = component as CMeshRenderer; CTransform cTransform = VerifyTransform(meshRenderer, entityID); if (cTransform == null) { return(1); } if (meshRenderer.MeshRenderer == null) { meshRenderer.MeshRenderer = AddOrGetUnityComponent <MeshRenderer>(cTransform); if (meshRenderer.MaterialID != null && (meshRenderer.MeshRenderer.material == null || meshRenderer.MeshRenderer.material.name != meshRenderer.MaterialID)) { meshRenderer.MeshRenderer.material = Resources.Load <Material>(meshRenderer.MaterialID); } } if (meshRenderer.MeshFilter == null) { meshRenderer.MeshFilter = AddOrGetUnityComponent <MeshFilter>(cTransform); if (meshRenderer.MeshID != null && (meshRenderer.MeshFilter.mesh.name != meshRenderer.MeshID || meshRenderer.MeshFilter.mesh == null)) { Mesh mesh = Resources.Load <Mesh>(meshRenderer.MeshID); meshRenderer.MeshFilter.mesh = mesh; } meshRenderer.MeshID = meshRenderer.MeshFilter.mesh.name; } } return(0); }
public GameObject Create(string type, EFaction faction, ETeam team) { // Main GameObject GameObject go = new GameObject(); CSpriteRenderer sr = new CSpriteRenderer(SpriteContainer.Instance.Pixel); CAnimator animator = new CAnimator(); CUnit unit = new CUnit(team, (EUnitType)Enum.Parse(typeof(EUnitType), type), faction); CMove move = new CMove(); CStats stats = new CStats(); CAstar astar = new CAstar(unit); CSelectable canBeSelected = new CSelectable(); CShadow shadow = new CShadow(); go.AddComponent <CUnit>(unit); go.AddComponent <CMove>(move); go.AddComponent <CStats>(stats); go.AddComponent <CShadow>(shadow); go.AddComponent <CSpriteRenderer>(sr); go.AddComponent <CAnimator>(animator); go.AddComponent <CSelectable>(canBeSelected); go.AddComponent <CAstar>(astar); switch (team) { case ETeam.Team01: sr.Color = Color.LightPink; break; case ETeam.Team02: sr.Color = Color.LightBlue; break; case ETeam.Team03: sr.Color = Color.LightGreen; break; case ETeam.Team04: sr.Color = Color.Yellow; break; case ETeam.Team05: break; case ETeam.Team06: break; case ETeam.Team07: break; case ETeam.Team08: break; default: break; } sr.LayerDepth = 0.3f; sr.OffSet = new Vector2(-0.75f * 128, -0.9f * 128); go.Transform.Scale *= 1.0f; return(go); }
public void ButtonHoveringTest(GUIButton button, CSpriteRenderer sr01) { }
public GameObject Create(string type, EFaction faction, ETeam team) { EBuildingType buildingType = (EBuildingType)Enum.Parse(typeof(EBuildingType), type); GameObject go = new GameObject(); CSpriteRenderer sr = new CSpriteRenderer(SpriteContainer.Instance.SpriteSheet["GrayTent"]); CBuilding building = new CBuilding(buildingType, faction, team); CStats stats = new CStats(); sr.LayerDepth = 0.3f; sr.OriginPositionEnum = EOriginPosition.TopLeft; sr.OffSet = new Vector2(-1 * 128 / 2, -3 * 128 / 2); go.Transform.Scale *= 0.5f; go.AddComponent <CSpriteRenderer>(sr); go.AddComponent <CBuilding>(building); go.AddComponent <CStats>(stats); switch (buildingType) { case EBuildingType.TownHall: break; case EBuildingType.ArcheryRange: break; case EBuildingType.Blacksmith: break; case EBuildingType.Tower: break; case EBuildingType.Barracks: break; case EBuildingType.GatheringStation: break; case EBuildingType.Field: sr.OffSet = new Vector2(0 * 128 / 2, 0 * 128 / 2); sr.SetSprite(SpriteContainer.Instance.TileSprite.Wheatfield); break; default: break; } if (buildingType != EBuildingType.Field) { switch (team) { case ETeam.Team01: sr.Color = Color.Red; break; case ETeam.Team02: sr.Color = Color.Blue; break; case ETeam.Team03: sr.Color = Color.Green; break; case ETeam.Team04: sr.Color = Color.Yellow; break; case ETeam.Team05: break; case ETeam.Team06: break; case ETeam.Team07: break; case ETeam.Team08: break; default: break; } } return(go); }