コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #5
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;
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        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);
        }
コード例 #8
0
        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);
        }
コード例 #9
0
        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);
        }
コード例 #10
0
        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);
        }
コード例 #11
0
        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);
        }
コード例 #12
0
        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);
        }
コード例 #13
0
        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);
        }
コード例 #14
0
ファイル: TileGrid.cs プロジェクト: kasp050g/KnightsVsVikings
        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);
        }
コード例 #15
0
        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"); };
        }
コード例 #16
0
        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); };
        }
コード例 #17
0
        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);
        }
コード例 #18
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);
        }
コード例 #19
0
 public void ButtonHoveringTest(GUIButton button, CSpriteRenderer sr01)
 {
 }
コード例 #20
0
        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);
        }