Example #1
0
    public void ShowBoard(float scoreNum)
    {
        Sprite sprite = new Sprite();

        if (scoreNum == 5)
        {
            winText.text = "Perfect!";
            sprite       = Resources.Load("UI/Texture/UI_Icon_Crown", sprite.GetType()) as Sprite;
        }
        else if (scoreNum >= 3)
        {
            winText.text = "Good!";
            sprite       = Resources.Load("UI/Texture/Emo1", sprite.GetType()) as Sprite;
        }
        else
        {
            winText.text = "Bad Score!";
            sprite       = Resources.Load("UI/Texture/UI_Icon_SmileyUnhappy", sprite.GetType()) as Sprite;
        }

        Champion.GetComponent <Image>().sprite = sprite;
        scoreText.text = scoreNum.ToString();

        gameOverUIController.SetActive(true);
    }
Example #2
0
 public override bool OtherCollided(Sprite sprite, SpriteProperties.Directions collidedDirection, PointF CameraLocation)
 {
     if (sprite.GetType() == typeof(Bullets.Fire))
     {
         return(false);
     }
     if (sprite.GetType() == typeof(Bullets.Bullet) || sprite.GetType() == typeof(Bullets.ShipFire))
     {
         isdead = true;
         return(false);
     }
     return(false);
 }
        public override void Collision(Sprite otherSprite)
        {
            // Platform platform = (Platform)otherSprite;
            System.Type type = otherSprite.GetType();

            if (type.ToString().Equals("GameOne.Platform"))
            {
                Platform platform = (Platform)otherSprite;
                if (velocity.Y > 0 && position.Y > platform.collisionRect.Top - this.spriteSheet.scale * (this.spriteSheet.currentSegment.frameSize.Y - this.collisionOffset.south) && this.collisionRect.Bottom + platform.collisionRect.Top > 2)
                {
                    velocity.Y = -1;
                    onGround = true;
                    position.Y = platform.collisionRect.Top - spriteSheet.scale * (spriteSheet.currentSegment.frameSize.Y - collisionOffset.south) + 1;
                }

            }

            else if (type.ToString().Equals("GameOne.VegetaPlayer") || type.ToString().Equals("GameOne.GokuPlayer"))
            {
                Random random = new Random();
                position.X = (float) random.Next(1048);
                position.Y = 0;
            }

        }
Example #4
0
    /// <summary>
    /// 把牌加入到桌面上
    /// </summary>
    void addPoker(Card card)
    {   //克隆poker模板
        GameObject game = GameObject.Instantiate(poker, new Vector2(0, -4f), Quaternion.identity) as GameObject;

        game.name = "poke" + CardManager.Instance.mList.Count;
        //获取图片精灵
        Sprite tempType = new Sprite();

        tempType = Resources.Load("poker/" + card.pokername, tempType.GetType()) as Sprite;
        // 添加poker的图片
        game.transform.GetComponent <SpriteRenderer>().sprite = tempType;
        //把克隆出来的牌对象放到同一目录下
        game.transform.SetParent(pokerTrans);
        //把牌加到集合中
        card.name = "poke" + CardManager.Instance.mList.Count;
        //把牌加到集合中
        cm.mList.Add(card);
        //把抢庄的牌加到集合中
        if (card.value == 10 && (card.color == 1 || card.color == 3))
        {
            cm.mRob.Add(new Poker(card.name, 2, card.color));
        }
        else if (card.value == 11)
        {
            cm.mRob.Add(new Poker(card.name, 1, card.color));
        }
        sortPoker();
    }
        public override void OnCollision(Sprite sprite, GameTime gameTime)
        {
            base.OnCollision(sprite, gameTime);

            if (sprite.GetType() != typeof(Player))
            {
                return;
            }

            Player player = (Player)sprite;

            if (!player.CanTakeDamage)
            {
                return;
            }
            if (!player.Rectangle.Intersects(Hitbox))
            {
                return;
            }

            if (ParticleManager.Textures is null)
            {
                ParticleManager.Textures = ContentManager.HurtParticles;
            }
            ParticleManager.EmitterLocation = player.Rectangle.Center.ToVector2();
            ParticleManager.GenerateNewParticle(Color.White, 20, 10);

            AudioManager.PlayEffect(ContentManager.HurtSoundEffect);
            player.AliveTimer -= Damage;
            if (player.AliveTimer < 0)
            {
                player.AliveTimer = 0;
            }
            player.IFramesTimer = 0;
        }
    //鼠标移出
    public void OnPointerExit(PointerEventData eventData)
    {
        Sprite imageSource = new Sprite();

        imageSource = Resources.Load(path2, imageSource.GetType()) as Sprite;
        button.GetComponent <Image> ().sprite = imageSource;
    }
Example #7
0
        // Checks if the specified point is a valid movement.
        private bool CheckNewPointValidityInContext(Sprite owner, Point nextPt)
        {
            // Checks if the new point overlap a structure (or more) of the screen.
            List <Sprite> overlapStructs = Engine.Default.CurrentScreen.Structures.Where(s => s.Overlap(owner.CopyToPosition(nextPt))).ToList();

            if (overlapStructs.Count > 0)
            {
                if (overlapStructs.Count > 1 || !ComputeExtraStepToAvoidStructure(owner, nextPt, overlapStructs.First()))
                {
                    // There're more than one structure overlaped
                    // or unable to determinate a path.
                    ReversePath();
                    _currentStepIndex = GetNextStepIndex();
                }
                // In any case, no move this time.
                return(false);
            }

            if (CheckCurrentStepIsCrossed(owner, nextPt.X, nextPt.Y))
            {
                _currentStepIndex = GetNextStepIndex();
                CleanTemporarySteps();
            }

            // The owner is an enemy and has the player in his line of sight
            if (owner.GetType() == typeof(Enemy) &&
                owner.CopyToPosition(nextPt).Overlap(Engine.Default.Player.ResizeToRatio(Constants.PLAYER_SIZE_RATIO_TO_TRIGGER_ENEMY)))
            {
                // Inserts a pursue step.
                _steps.Insert(_currentStepIndex, PathStep.CreatePursueStep(Engine.Default.Player));
                CleanTemporarySteps();
            }

            return(true);
        }
    public Sprite GetSprite(string name)
    {
        Sprite tempSp = new Sprite();
        Sprite sprite = LoadSync(name, tempSp.GetType()) as Sprite;

        return(sprite);
    }
Example #9
0
    public void OnDrop(PointerEventData eventData)
    {
        SkillItem skill = eventData.pointerDrag.GetComponent <SkillItem>();

        //Debug.Log("name:" +eventData.pointerCurrentRaycast.gameObject.name+":"+this.skillSlotID);
        for (int i = 0; i < skillItemPanel.Length; i++)
        {
            //如果当前快捷栏有这个技能了,那就将原来的设置为空
            if (skillItemPanel[i].gameObject.GetComponent <SkillSlot>().skillSlotID == skill.SkillItemID)
            {
                Sprite sprite = new Sprite();
                sprite = Resources.Load("LabelTag", sprite.GetType()) as Sprite;
                //将原来的设置为默认的,并且将他的skillSlotID=-1,为放入技能的状态
                skillItemPanel[i].transform.GetChild(0).gameObject.GetComponent <Image>().sprite = sprite;
                skillItemPanel[i].gameObject.GetComponent <SkillSlot>().skillSlotID = -1;
            }
            if (this.skillSlotID == -1)
            {
                //将其图案设置为拖拽的技能的图标
                Sprite sprite = new Sprite();
                sprite = Resources.Load(SkillInfo._instance.GetSkillInfoByID(skill.SkillItemID).iconName, sprite.GetType()) as Sprite;
                eventData.pointerCurrentRaycast.gameObject.transform.parent.GetComponent <Image>().sprite = sprite;
                //将其id设置为技能id,使用时查找
                this.skillSlotID = skill.SkillItemID;
            }
            else//交换
            {
            }
        }
    }
Example #10
0
 public void OnPointerDown(PointerEventData eventData)
 {
     secondClick = Time.realtimeSinceStartup;
     if (secondClick - firstClick < interval)
     {
         doubleClick.Invoke();
         //Debug.Log("连续点击");
         //如果当前点击处没有物品就返回不执行
         if (eventData.pointerCurrentRaycast.gameObject == null)
         {
             return;
         }
         if (EquipmentUI._instance.DressItem(this.gameObject.GetComponent <ItemData>().item.id))
         {
             ItemData dropedItem = eventData.pointerCurrentRaycast.gameObject.GetComponent <ItemData>();//拽住的物品
             //将其对应的list表中的元素置为空
             inv.items[dropedItem.slotIndex] = new Item();
             Destroy(this.gameObject);//删除子物体
             //将其父节点中的sprite修改为默认的精灵
             Sprite sprite = new Sprite();
             sprite = Resources.Load("shortcutskill", sprite.GetType()) as Sprite;
             eventData.pointerCurrentRaycast.gameObject.GetComponentInParent <Image>().sprite = sprite;
             //穿上
             EquipmentUI._instance.DressNewItem(this.gameObject.GetComponent <ItemData>().item);
             EquipmentUI._instance.AddPlayerInfo(); //更新角色属性
             Status._instance.UpDataShow();         //更新界面显示
         }
     }
     else
     {
         //Debug.Log("没有连续点击");
         firstClick = secondClick;
     }
 }
Example #11
0
    /** 提取指定的路径的sprite */
    public static Sprite LoadSprite(string vResPath)
    {
        Sprite s       = new Sprite();
        Sprite vSprite = Resources.Load(vResPath, s.GetType()) as Sprite;

        return(vSprite);
    }
Example #12
0
 protected void UpdateAnimation(GameTime gameTime)
 {
     if (Sprite != null && Sprite.GetType() == typeof(AnimatedSprite))
     {
         (Sprite as AnimatedSprite).Update(gameTime);
     }
 }
Example #13
0
 //创建新的item
 void CreatNewItem(Item itemToAdd)
 {
     //遍历格子
     for (int i = 0; i < slots.Count; i++)
     {
         //如果当前格子下面的items信息的id=-1;则表示没有物品在哪里
         if (items[i].id == -1)
         {
             items.Add(itemToAdd);
             GameObject itemObj = Instantiate(inventoryItem);
             //设置父节点
             itemObj.transform.SetParent(slots[i].transform);
             itemObj.GetComponent <RectTransform>().localPosition = Vector2.zero;
             itemObj.GetComponent <RectTransform>().localScale    = new Vector3(1, 1, 1);
             //改名字
             itemObj.name = itemToAdd.name;
             //替换image
             Sprite sprite = new Sprite();
             sprite = Resources.Load(itemToAdd.icon_name, sprite.GetType()) as Sprite;
             itemObj.GetComponent <Image>().sprite = sprite;
             //将当前格子下面的items信息的id=-1改为添加的item的id
             items[i].id = itemToAdd.id;
             itemObj.GetComponent <ItemData>().item      = itemToAdd;
             itemObj.GetComponent <ItemData>().slotIndex = i;
             break;
         }
     }
 }
Example #14
0
 public override void activate(Sprite collider)
 {
     if (collider.GetType() == typeof(Clyde))
     {
         clydeTouching = true;
     }
     else if (collider.GetType() == typeof(Bunny))
     {
         bunnyTouching = true;
     }
     if (bunnyTouching && clydeTouching && level.inventory.containsKey(color))
     {
         //we won
         level.isComplete = true;
         Console.Out.WriteLine("we won");
     }
 }
Example #15
0
        // Ship collision handler
        public override void HandleCollision(Sprite collidedWith, Rectangle overlap)
        {
            if (collidedWith is IWeapon) // weapons don't stop ship movement - its own weapons have already been filtered out
            {
                colliding = false;
            }

            if (collidedWith is IAmmo)
            {
                showHealthBar = true;
                Ammo ball = (Ammo)collidedWith;
                if (!ball.exploded)
                {
                    health -= ball.structureDamage;
                }
                return;
            }

            if (collidedWith.GetType().BaseType == typeof(Gusto.Models.Animated.HandHeld))
            {
                HandHeld handHeld = (HandHeld)collidedWith;
                showHealthBar = true;
                health       -= handHeld.damage;
            }

            if (collidedWith.bbKey.Equals("landTile"))
            {
                colliding   = false;
                hittingLand = true;
                if (!anchored)
                {
                    showHealthBar = true;
                    health       -= 1;
                }
                anchored = true;
                return;
            }

            if (collidedWith.bbKey.Equals("playerPirate") || collidedWith is INPC)
            {
                colliding = false;
                return;
            }

            if (collidedWith is IShip)
            {
                colliding = false;
                anchored  = true;

                Ship sh = (Ship)collidedWith;
                if (sh.teamType != teamType)
                {
                    boardingShipInteriorId = sh.shipInterior.interiorId;
                }
            }
        }
Example #16
0
    //设置button的高亮图片
    private void ChangeBtnHighlightImage(ref Button btn, string imagePath)
    {
        Sprite sprite = new Sprite();

        sprite = Resources.Load(imagePath, sprite.GetType()) as Sprite;
        var spriteState = btn.GetComponent <Button> ().spriteState;

        spriteState.highlightedSprite            = sprite;
        btn.GetComponent <Button> ().spriteState = spriteState;
    }
 public void Collides(Sprite sprite)
 {
     //  If the sprite is an enemy, we remove 100 points of the score
     if (sprite.GetType() == typeof(EnnemiSprite))
     {
         Score -= 100;
         PlaySoundEffect(_hurtSoundEffect);
     }
     else if (sprite.GetType() == typeof(DiamondSprite))
     {
         Score += 50;
         PlaySoundEffect(_coinSoundEffect);
     }
     else if (sprite.GetType() == typeof(GemSprite))
     {
         Score += 10;
         PlaySoundEffect(_coinSoundEffect);
     }
 }
    public void GameOver(float scoreNum)
    {
        Sprite sprite = new Sprite();

        if (scoreNum == 8)
        {
            winText.text = "You Win!";
            sprite       = Resources.Load("UI/UI_Icon_Crown", sprite.GetType()) as Sprite;
        }
        else
        {
            winText.text = "You Lose!";
            sprite       = Resources.Load("UI/UI_Icon_SmileyUnhappy", sprite.GetType()) as Sprite;
        }

        IsChampion.GetComponent <Image>().sprite = sprite;
        scoreText.text = scoreNum.ToString();

        gameOverUIController.SetActive(true);
    }
Example #19
0
 public void DestroyAllBlock()
 {
     for (int i = List.Count - 1; i >= 0; i--)
     {
         Sprite sprite = List[i];
         if (sprite.GetType() == typeof(Block))
         {
             List[i] = null;
             List.RemoveAt(i);
         }
     }
 }
Example #20
0
 public void AddSprite(Sprite newSprite)
 {
     if (newSprite.GetType() == typeof(Poop))
     {
         ((Poop)(newSprite)).sprite = contentManager.Load<Texture2D>(@"Sprites/Poop");
         spriteList.Insert(0,newSprite);
     }
     else
     {
         spriteList.Insert(0,newSprite);
     }
 }
Example #21
0
 //冗余,是否重构?
 //穿戴新装备
 public void DressNewItem(Item newItem)
 {
     for (int i = 0; i < parts.Length; i++)                                        //遍历身上的部位
     {
         if (newItem.dressType.ToString() == parts[i].tag)                         //找到要穿的装备的位置
         {
             if (parts[i].GetComponent <EquipmentItem>().equipmentItemIndex == -1) //如果该部位没有穿装备,添加新的装备
             {
                 items.Add(newItem);
                 GameObject itemObj = Instantiate(equipmentItem);
                 //设置父节点
                 itemObj.transform.SetParent(parts[i].transform);
                 itemObj.GetComponent <RectTransform>().localPosition = Vector2.zero;
                 itemObj.GetComponent <RectTransform>().localScale    = new Vector3(1, 1, 1);
                 //改名字
                 itemObj.name = newItem.name;
                 //替换image
                 Sprite sprite = new Sprite();
                 sprite = Resources.Load(newItem.icon_name, sprite.GetType()) as Sprite;
                 itemObj.GetComponent <Image>().sprite = sprite;
                 //将当前格子下面的items信息的id=-1改为添加的item的id
                 parts[i].GetComponent <EquipmentItem>().equipmentItemIndex = newItem.id;
                 Debug.Log("equipmentIndex=" + parts[i].GetComponent <EquipmentItem>().equipmentItemIndex);
                 items[i].id = newItem.id;
                 break;
             }
             else //如果穿了,跟换装备
             {
                 Transform item = parts[i].transform.GetChild(0);//需要跟换的部位
                 inv.AddItem(parts[i].transform.GetComponent <EquipmentItem>().equipmentItemIndex); //先在物品栏添加该物品
                 Destroy(item.gameObject);                                                          //删除该物品
                 items.Add(newItem);
                 GameObject itemObj = Instantiate(equipmentItem);
                 //设置父节点
                 itemObj.transform.SetParent(parts[i].transform);
                 itemObj.GetComponent <RectTransform>().localPosition = Vector2.zero;
                 itemObj.GetComponent <RectTransform>().localScale    = new Vector3(1, 1, 1);
                 //改名字
                 itemObj.name = newItem.name;
                 //替换image
                 Sprite sprite = new Sprite();
                 sprite = Resources.Load(newItem.icon_name, sprite.GetType()) as Sprite;
                 itemObj.GetComponent <Image>().sprite = sprite;
                 //将当前格子下面的items信息的id=-1改为添加的item的id
                 parts[i].GetComponent <EquipmentItem>().equipmentItemIndex = newItem.id;
                 items[i].id = newItem.id;
                 break;
             }
         }
     }
 }
Example #22
0
        /// <summary>
        /// this event is raised when a sprite is added as a child to the table.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="child"></param>
        /// <param name="wasAdded"></param>
        /// <returns></returns>
        private bool Table_ChildListChangedBefore(object sender, Sprite child, bool wasAdded)
        {
            if (wasAdded)
            {
                if (child.GetType() == typeof(Endogine.Sprite))
                {
                    Ball ball = null;
                    if (child.Member != null && child.Member.Name.IndexOf("BallWhite") >= 0)
                    {
                        ball = new PlayerBall();
                    }
                    else
                    {
                        ball = new Ball();
                    }

                    ball.Parent = this;
                    ball.LocZ   = 10;

                    //TODO: use serialization to copy props to new object!
                    ball.Member = child.Member;
                    ball.Loc    = child.Loc.Copy();

                    ball.RegPoint = ball.Member.Size / 2;

                    child.Dispose();

                    return(false);
                }
                else if (child.GetType() == typeof(Ball) || child.GetType() == typeof(PlayerBall))
                {
                    Ball ball = (Ball)child;
                    if (ball.Member != null)
                    {
                        ball.RegPoint = child.Member.Size / 2;
                    }
                    this.balls.Add(ball);

                    foreach (TopologyObject topo in this.topoObjects)
                    {
                        topo.AddSprite(ball);
                    }
                }
                else if (child.GetType() == typeof(TopologyObject))
                {
                    this.topoObjects.Add(child);
                    ((TopologyObject)child).DoneConstructing();
                }
            }
            else
            {
                if (child.GetType() == typeof(Ball) || child.GetType() == typeof(PlayerBall))
                {
                    this.balls.Remove(child);
                }
            }
            return(true);
        }
Example #23
0
 public Sprite getSpByName(string url)
 {
     if (spriteDic.ContainsKey(url))
     {
         return(spriteDic [url]);
     }
     else
     {
         Sprite iconsp = new Sprite();
         iconsp = Resources.Load(url, iconsp.GetType()) as Sprite;
         spriteDic.Add(url, iconsp);
         return(iconsp);
     }
 }
Example #24
0
        /// <summary>
        /// Returns a list of object in an area specified by the search pattern.
        /// SearchPattern.Touching -> you are in direct contact with an object 
        /// </summary>
        public static IEnumerable<Sprite> GetObjects(Sprite origin, SearchPattern pattern)
        {
            var objectsFound = new List<Sprite>();
            foreach (var obj in allObjects)
            {
                // Exclude the searching object from the list of found objects
                if (obj.GetType().Name != origin.GetType().Name)
                {
                    Point overlap = OverLap(origin.Rectangle, obj.Rectangle);
                    if (pattern == SearchPattern.Touching)
                    {
                        if (overlap.X <= tileSize / 4 && overlap.Y <= tileSize / 4)
                        {
                            objectsFound.Add(obj);
                        }
                    }
                    else if (pattern == SearchPattern.Right)
                    {
                        if (overlap.Y <= 0 && origin.Rectangle.Right < obj.Rectangle.Left && NoWallsBetween(origin, obj))
                        {
                            objectsFound.Add(obj);
                        }
                    }
                    else if (pattern == SearchPattern.Left && NoWallsBetween(origin, obj))
                    {
                        if (overlap.Y <= 0 && origin.Rectangle.Left > obj.Rectangle.Right && NoWallsBetween(origin, obj))
                        {
                            objectsFound.Add(obj);
                        }
                    }
                    else if (pattern == SearchPattern.Up)
                    {
                        if (overlap.X <= 0 && origin.Rectangle.Top > obj.Rectangle.Bottom && NoWallsBetween(origin, obj))
                        {
                            objectsFound.Add(obj);
                        }
                    }
                    else if (pattern == SearchPattern.Down)
                    {
                        if (overlap.X <= 0 && origin.Rectangle.Bottom < obj.Rectangle.Top && NoWallsBetween(origin, obj))
                        {
                            objectsFound.Add(obj);
                        }
                    }
                }
            }

            return objectsFound;
        }
Example #25
0
        public void DestroyMap()
        {
            DestroyAllBlock();
            for (int i = List.Count - 1; i >= 0; i--)
            {
                Sprite sprite = List[i];
                if (sprite.GetType() == typeof(Player))
                {
                    continue;
                }

                List[i] = null;
                List.RemoveAt(i);
            }
        }
 //Warning: this script can only run once, or big trouble will comes.
 public void init(int amount,List<Skill> skills)
 {
     Sprite tempType = new Sprite();
     tempType = Resources.Load("null", tempType.GetType()) as Sprite;
     if (!tempType)
         Debug.Log("Load null Failed.");
     skill = new skill_info[amount];
     for (int i = 0; i < amount; i++)
     {
         skill[i].skillid = i;
         skill[i].skill_script = skills[i];
         skill[i].skillicon = tempType;
     }
     Invoke("NameUpdate", 1.0f);
 }
Example #27
0
        public override void HandleCollision(Sprite collidedWith, Rectangle overlap)
        {
            if (collidedWith.GetType().BaseType == typeof(Gusto.Models.Animated.HandHeld))
            {
                HandHeld handHeld = (HandHeld)collidedWith;
                showHealthBar = true;
                health       -= handHeld.damage;
            }
            else if (collidedWith.bbKey.Equals("landTile") || collidedWith.bbKey.Equals("interiorTile"))
            {
                TilePiece tp = (TilePiece)collidedWith;

                colliding    = false;
                mapCordPoint = tp.mapCordPoint;

                // narrow the collision to just the feet (appears more realistic)
                Rectangle footSpace = new Rectangle(GetBoundingBox().Left, GetBoundingBox().Bottom - (GetBoundingBox().Height / 3), GetBoundingBox().Width, GetBoundingBox().Height / 3);
                if (footSpace.Intersects(collidedWith.GetBoundingBox()))
                {
                    swimming = false;
                }
            }

            else if (collidedWith is IGroundObject)
            {
                colliding = false;
            }

            else if (collidedWith.bbKey.Equals("interiorTileWall"))
            {
                colliding = false;
            }

            else if (collidedWith is IWalks || collidedWith is IShip || collidedWith is IPlaceable || collidedWith is IInventoryItem || collidedWith is IStructure)
            {
                colliding = false;
            }
            else if (collidedWith is IAmmo)
            {
                showHealthBar = true;
                Ammo ball = (Ammo)collidedWith;   // TODO: bug NPC gets hit here by its own ships cannonballs
                if (!ball.exploded && ball.teamType != teamType)
                {
                    health -= ball.groundDamage;
                }
                return;
            }
        }
Example #28
0
    /// <summary>
    /// 第一个人
    /// </summary>
    public void fristCards(List <Card> list)
    {
        //获取图片精灵
        Sprite tempType = new Sprite();

        //集合为空自己返回
        if (list.Count == null || list.Count < 1)
        {
            return;
        }
        tempType = Resources.Load("poker/" + list[list.Count - 1].pokername, tempType.GetType()) as Sprite;

        //克隆poker模板
        GameObject game = GameObject.Instantiate(poker, new Vector2(5.5f, 0), Quaternion.identity) as GameObject;

        // 添加poker的图片
        game.transform.GetComponent <SpriteRenderer>().sprite = tempType;

        //GameObject game = GameObject.Instantiate(list[list.Count - 1].poker, new Vector2(3, 0), Quaternion.identity) as GameObject;
        game.transform.GetComponent <SpriteRenderer>().sortingOrder = 2;
        game.name = list[list.Count - 1].name;
        game.transform.SetParent(playTranform);
        List <Card> c = new List <Card>();

        c.Add(list[list.Count - 1]);
        //存入出的牌
        CardManager.Instance.olist.Clear();
        //先清空上次的牌
        CardManager.Instance.folist.Clear();
        //把分加入临时变量中  把出的牌存到olist中
        foreach (Card item in c)
        {    //添加分到临时变量中
            CardManager.Instance.tempScore += Playcardutils.Instance.AddScore(item);
            CardManager.Instance.olist.Add(item);
            //把第一次出的牌放进去
            CardManager.Instance.folist.Add(item);
        }

        CardManager.Instance.fList.Remove(list[list.Count - 1]);
        CardManager.Instance.playCardPeople = 2;
        CardManager.Instance.zhuang         = 1;
        //把出的牌加入到临时变量中
        tempList.Add(game);
        //等1秒
        StartCoroutine(waitTime());
        // PlayPoker();
    }
Example #29
0
    //设置button的默认图片
    private void ChangeBtnDefaultImage(ref Button btn, string imagePath)
    {
        //重置背景色
        ColorBlock colorsBlock = btn.GetComponent <Button> ().colors;

        colorsBlock.normalColor             = Color.white;
        btn.GetComponent <Button> ().colors = colorsBlock;

        //修改按钮为图片状态切换样式
        btn.GetComponent <Button> ().transition = Selectable.Transition.SpriteSwap;

        btn.image.type = Image.Type.Simple;
        Sprite sprite = new Sprite();

        sprite           = Resources.Load(imagePath, sprite.GetType()) as Sprite;
        btn.image.sprite = sprite;
    }
Example #30
0
    /// <summary>
    ///把出的牌添加到桌面上
    /// </summary>
    public void clonePoker(Vector2 vec, string pname, string name, int zord)
    {   //获取图片精灵
        Sprite tempType = new Sprite();

        tempType = Resources.Load("poker/" + pname, tempType.GetType()) as Sprite;

        //克隆poker模板
        GameObject game = GameObject.Instantiate(poker, vec, Quaternion.identity) as GameObject;

        // 添加poker的图片
        game.transform.GetComponent <SpriteRenderer>().sprite = tempType;
        //把牌加到指定目录中
        game.name = name;
        game.transform.GetComponent <SpriteRenderer>().sortingOrder = zord + 1;
        game.transform.SetParent(playTranform);
        //把牌添加到临时变量中
        tempList.Add(game);
    }
Example #31
0
    /// <summary>
    /// 显示机器亮庄的花色
    /// </summary>
    void showRobPoker(object[] value)
    {
        int x = (int)value[0];

        int num = (int)value[1];

        //黑桃
        if (x == 0)
        {      //获取图片精灵
            Sprite tempType = new Sprite();
            tempType = Resources.Load("rob/bg_small_suit_4", tempType.GetType()) as Sprite;
            showRop(tempType, num);
            CardManager.Instance.color = 0;
        }
        //红桃
        else if (x == 1)
        {   //获取图片精灵
            Sprite tempType = new Sprite();
            tempType = Resources.Load("rob/bg_small_suit_3", tempType.GetType()) as Sprite;
            showRop(tempType, num);
            CardManager.Instance.color = 1;
            // cgame.getcomponent<spriterenderer>().sprite = spoker[1];
        }
        //梅花
        else if (x == 2)
        {         //获取图片精灵
            Sprite tempType = new Sprite();
            tempType = Resources.Load("rob/bg_small_suit_2", tempType.GetType()) as Sprite;
            showRop(tempType, num);
            CardManager.Instance.color = 2;
            // cgame.getcomponent<spriterenderer>().sprite = spoker[2];
        }
        //方块
        else if (x == 3)
        {    //获取图片精灵
            Sprite tempType = new Sprite();
            tempType = Resources.Load("rob/bg_small_suit_1", tempType.GetType()) as Sprite;
            showRop(tempType, num);
            CardManager.Instance.color = 3;
            //cgame.getcomponent<spriterenderer>().sprite = spoker[3];
        }
    }
Example #32
0
    public void InitFinishPlayLevel()
    {
        great = new GameObject();
        GridUIAttributeManager.GetInstance().great = great;
        great.name = "win";
        great.AddComponent <Image>();
        great.GetComponent <RectTransform>().SetParent(mainCanvas.transform);
        Sprite sprite_great = new Sprite();

        sprite_great = Resources.Load("great_text", sprite_great.GetType()) as Sprite;
        great.GetComponent <Image>().sprite            = sprite_great;
        great.GetComponent <RectTransform>().sizeDelta = new Vector2(gameBgWith / 2, gameBgWith / 2);
        if (Screen.height / Screen.width >= gameBgHeight / gameBgWith)
        {
            great.GetComponent <RectTransform>().position = new Vector3(gameBgWith / 2, gameBgHeight / 2, 0.0f);
        }
        else
        {
            great.GetComponent <RectTransform>().position = new Vector3(Screen.width / 2, gameBgHeight / 2, 0.0f);
        }
        great.SetActive(false);
    }
Example #33
0
        public void Draw(GameTime gameTime, SpriteBatch spriteBatch)
        {
            for (int i = List.Count - 1; i >= 0; i--)
            {
                Sprite sprite = List[i];
                if (sprite.visible && sprite.GetType() != typeof(Player))
                {
                    sprite.Draw(spriteBatch);

                    //spriteBatch.Draw(DebugBox[0], sprite.Rectangle(), Color.White);
                }
            }


            // Render player alone
            if (Game1.Instance.player.visible)
            {
                Game1.Instance.player.Draw(spriteBatch);

                //spriteBatch.Draw(DebugBox[0], Game1.Instance.player.Rectangle(), Color.White);
            }
        }
Example #34
0
 /*
  * Called when this sprite has collided with something else.
  */
 public override void Collision(Sprite otherSprite)
 {
     if (otherSprite.GetType().ToString().Equals("GameOne.Enemy"))
     {
         position.X = 0;
         position.Y = 645 - collisionOffset.south;
         reverseGravity = false;
     }
     if (!reverseGravity)
         CollisionNoReverseGravity(otherSprite);
     else
         CollisionReverseGravity(otherSprite);
     
 }
Example #35
0
        public static bool CheckCollidable(Sprite a, Sprite b)
        {
            if (a.inInteriorId != Guid.Empty)
            {
                if (b.inInteriorId == Guid.Empty)
                {
                    return(false);
                }

                if (b.inInteriorId != a.inInteriorId)
                {
                    return(false);
                }
            }

            if (a is IShip)
            {
                Ship ship = (Ship)a;
                // a ship doesn't collide with its any ship's sails
                if (b.GetType().BaseType == typeof(Gusto.Models.Animated.Sail))
                {
                    return(false);
                }

                if (b is ILand)
                {
                    TilePiece t = (TilePiece)b;
                    if (!(t.shorePiece))
                    {
                        return(false);
                    }
                }

                // ship doesn't collide with interior tiles
                if (b is IInteriorTile)
                {
                    return(false);
                }

                // ship doesn't collide with its own cannon balls
                if (b.GetType().BaseType == typeof(Gusto.Models.Animated.Ammo))
                {
                    Ammo ball = (Ammo)b;
                    if (ball.teamType == ship.teamType)
                    {
                        return(false);
                    }
                }
            }

            else if (a is IPlayer)
            {
                PlayerPirate pirate = (PlayerPirate)a;
                // a player doesn't collide with its own shots
                if (b is IAmmo)
                {
                    Ammo ball = (Ammo)b;
                    if (ball.teamType == pirate.teamType)
                    {
                        return(false);
                    }
                }
                else if (b.GetType().BaseType == typeof(Gusto.Models.Animated.Tree))
                {
                    return(false);
                }
            }

            else if (a.GetType().BaseType == typeof(Gusto.Models.Animated.Tower))
            {
                BaseTower tower = (BaseTower)a;
                // a tower doesn't collide with its own shots
                if (b is IAmmo)
                {
                    Ammo ball = (Ammo)b;
                    if (ball.teamType == tower.teamType)
                    {
                        return(false);
                    }
                }
            }

            // hand items only collide when they are being used
            else if (a is IHandHeld)
            {
                HandHeld inHand = (HandHeld)a;
                if (!inHand.usingItem && !inHand.onGround)
                {
                    return(false);
                }
            }

            else if (a is IAmmo)
            {
                if (b.GetType().BaseType == typeof(Gusto.Models.TilePiece))
                {
                    return(false);
                }
                if (b.GetType().BaseType == typeof(Gusto.Models.Animated.Grass))
                {
                    return(false);
                }
            }

            else if (a is IGroundObject)
            {
                if (b is IGroundObject)
                {
                    return(false);
                }
                if (b.GetType().BaseType == typeof(Gusto.Models.TilePiece))
                {
                    return(false);
                }
                if (b is IShip)
                {
                    return(false);
                }
            }

            return(true);
        }
Example #36
0
        private static bool IsAwayFromObjects(Sprite origin)
        {
            foreach (Sprite obj in allObjects)
            {
                if (obj is ILiving)
                {
                    if (!(obj as ILiving).IsAlive)
                    {
                        continue;
                    }
                }

                if (obj.GetType().Name != origin.GetType().Name)
                {
                    Point overlap = OverLap(origin.Rectangle, obj.Rectangle);
                    if (overlap.X <= 0 && overlap.Y <= 0)
                    {
                        return false;
                    }
                }
            }

            return true;
        }
Example #37
0
        /*
         * Called when this sprite has collided with something else.
         */
        public override void Collision(Sprite otherSprite)
        {


            // Platform platform = (Platform)otherSprite;
            System.Type type = otherSprite.GetType();
            if (type.ToString().Equals("GameOne.Platform"))
            {
                Platform platform = (Platform)otherSprite;
                if (velocity.Y > 0 && position.Y > platform.collisionRect.Top - this.spriteSheet.scale * (this.spriteSheet.currentSegment.frameSize.Y - this.collisionOffset.south) && this.collisionRect.Bottom + platform.collisionRect.Top > 2)
                {
                    velocity.Y = -1;
                    onGround = true;
                    position.Y = platform.collisionRect.Top - spriteSheet.scale * (spriteSheet.currentSegment.frameSize.Y - collisionOffset.south) + 1;
                }

            }
            else if (type.ToString().Equals("GameOne.Gohan"))
            {
                currentPoints++;
            }
            else if (type.ToString().Equals("GameOne.Frieza"))
            {
                if(isSS){
                    cancelSS = true;
                    currentPoints += 2;
                } 
                else if (currentPoints > 0)
                {
                    currentPoints--;
                }
            }
        }
Example #38
0
 private void CollisionReverseGravity(Sprite otherSprite) 
 {
     Boolean myFlag = false;
     if (otherSprite.GetType().ToString().Equals("GameOne.Platform") || otherSprite.GetType().ToString().Equals("GameOne.TronPlatform"))
     {
         if (collisionRect.Right <= (otherSprite.collisionRect.Left + 5))
         {
             position.X += -5f;
             velocity.X += -1f;
             onGround = false;
             myFlag = true;
         }
         if (collisionRect.Left >= (otherSprite.collisionRect.Right - 5))
         {
             position.X += 5f;
             velocity.X += 1f;
             onGround = false;
             myFlag = true;
         }
         if (collisionRect.Bottom <= (otherSprite.collisionRect.Top + 50) && myFlag == false && velocity.Y > 0f)
         {
             velocity.Y = 0f;
             onGround = false;
             myFlag = true;
         }
         if (collisionRect.Top + 50 >= otherSprite.collisionRect.Bottom  && velocity.Y <= 0f && myFlag == false)
         {
             velocity.Y = 0f;
             onGround = true;
         }
     }
 }
Example #39
0
 private bool allNonSpriteSheet(Sprite spr)
 {
     return spr.GetType() != typeof(SpriteSheet);
 }
Example #40
0
 /** 提取指定的路径的sprite */
 public static Sprite LoadSprite(string vResPath)
 {
     Sprite s = new Sprite();
     Sprite vSprite = Resources.Load(vResPath , s.GetType() ) as Sprite;
     return vSprite;
 }
Example #41
0
    /// <summary>
    /// 抢庄的点击事件
    /// </summary>
    void robOnClick(string name)
    {
        switch (name)
        {   //没有花色
        case "no":

            break;

        //黑桃
        case "black":
            CardManager.Instance.color  = 0;
            CardManager.Instance.zhuang = 0;
            //找到图片资源
            Sprite tempType = new Sprite();
            tempType = Resources.Load("rob/bg_small_suit_4", tempType.GetType()) as Sprite;
            //替换主牌花色
            foreach (GameObject item in robObject)
            {
                if (item.name.Equals("color"))
                {
                    item.SetActive(true);
                    item.transform.GetComponent <Image>().sprite = tempType;
                }
            }

            break;

        //红桃
        case "red":
            CardManager.Instance.color  = 1;
            CardManager.Instance.zhuang = 0;
            //找到图片资源
            Sprite tempType1 = new Sprite();
            tempType1 = Resources.Load("rob/bg_small_suit_3", tempType1.GetType()) as Sprite;
            //替换主牌花色
            foreach (GameObject item in robObject)
            {
                if (item.name.Equals("color"))
                {
                    item.SetActive(true);
                    item.transform.GetComponent <Image>().sprite = tempType1;
                }
            }
            break;

        //梅花
        case "meihua":
            CardManager.Instance.color  = 2;
            CardManager.Instance.zhuang = 0;
            //找到图片资源
            Sprite tempType2 = new Sprite();
            tempType2 = Resources.Load("rob/bg_small_suit_2", tempType2.GetType()) as Sprite;
            //替换主牌花色
            foreach (GameObject item in robObject)
            {
                if (item.name.Equals("color"))
                {
                    print("meihua11");
                    item.SetActive(true);
                    item.transform.GetComponent <Image>().sprite = tempType2;
                }
            }
            break;

        //方块
        case "fangkuai":
            CardManager.Instance.color  = 3;
            CardManager.Instance.zhuang = 0;
            //找到图片资源
            Sprite tempType3 = new Sprite();
            tempType3 = Resources.Load("rob/bg_small_suit_1", tempType3.GetType()) as Sprite;
            //替换主牌花色
            foreach (GameObject item in robObject)
            {
                if (item.name.Equals("color"))
                {
                    item.SetActive(true);
                    item.transform.GetComponent <Image>().sprite = tempType3;
                }
            }
            break;
        }
    }