Beispiel #1
0
    /// <summary>
    /// 更新积分显示
    /// </summary>
    /// <param name="type"></param>
    /// <param name="integration"></param>
    public static void UpdateIntegration(CharacterType type)
    {
        int        integration = GameObject.Find(type.ToString()).GetComponent <HandCards>().Integration;
        GameObject obj         = GameObject.Find(type.ToString()).transform.FindChild("IntegrationLabel").gameObject;

        obj.GetComponent <UILabel>().text = "积分:" + integration;
    }
Beispiel #2
0
 /// <summary>
 /// 调整手牌位置
 /// </summary>
 /// <param name="type"></param>
 public static void AdjustCardSpritsPosition(CharacterType type)
 {
     if (type == CharacterType.Desk)
     {
         DeskCardsCache instance = DeskCardsCache.Instance;
         CardSprite[]   cs       = GameObject.Find(type.ToString()).GetComponentsInChildren <CardSprite>();
         for (int i = 0; i < cs.Length; i++)
         {
             for (int j = 0; j < cs.Length; j++)
             {
                 if (cs[j].Poker == instance[i])
                 {
                     cs[j].GoToPosition(GameObject.Find(type.ToString()), i);
                 }
             }
         }
     }
     else
     {
         HandCards    hc = GameObject.Find(type.ToString()).GetComponent <HandCards>();
         CardSprite[] cs = GameObject.Find(type.ToString()).GetComponentsInChildren <CardSprite>();
         for (int i = 0; i < hc.CardsCount; i++)
         {
             for (int j = 0; j < cs.Length; j++)
             {
                 if (cs[j].Poker == hc[i])
                 {
                     cs[j].GoToPosition(GameObject.Find(type.ToString()), i);
                 }
             }
         }
     }
 }
Beispiel #3
0
    /// <summary>
    /// 更新身份
    /// </summary>
    /// <param name="type"></param>
    /// <param name="identity"></param>
    public static void UpdateIndentity(CharacterType type, Identity identity)
    {
        GameObject obj = GameObject.Find(type.ToString()).transform.FindChild("Identity").gameObject;

        //改变属性
        GameObject.Find(type.ToString()).GetComponent <HandCards>().AccessIdentity = identity;
        //更改显示
        //ww obj.GetComponent<UISprite>().spriteName = "Identity_" + identity.ToString();
    }
Beispiel #4
0
    private void SpawnCharacterInRandomRoom()
    {
        if (_hasStoppedSpawning)
        {
            return;
        }

        CharacterType characterType    = _characterHand.GetRandomElement();
        int           characterTypeIdx = (int)characterType;

        if (characterTypeIdx >= visitorPrefabs.Length)
        {
            Debug.LogError("Trying to spawn character of type (" + characterType.ToString() + ") but no prefab has been defined for it.");
            return;
        }

        int roomIndex = _roomHand.GetRandomElement();

        if (roomIndex >= spawnPositions.Length)
        {
            Debug.LogError("Trying to spawn character of type (" + characterType.ToString() + ") in room (" + roomIndex.ToString() + ") but the room doesn't exist.");
            return;
        }

        CharacterCharge characterCharge = CharacterCharge.Neutral;

        if (_hasSplitted)
        {
            characterCharge = _chargeHand.GetRandomElement();
        }

        Room       room        = spawnPositions[roomIndex].room;
        GameObject characterGO = Instantiate(visitorPrefabs[characterTypeIdx], visitorParent);
        Character  character   = characterGO.GetComponent <Character>();

        character.characterCharge = characterCharge;

        Vector3 characterPosition = spawnPositions[roomIndex].positionHand.GetRandomElement().position;

        characterPosition.z            = characterGO.transform.position.z;
        characterGO.transform.position = characterPosition;
        character.targetPosition       = room.GetRandomFreeDancePosition();

        room.AddCharacter(character);

        if (!_hasSplitted && (_characterHand.numHandsDelivered > numVisitorHandsBeforeSplit))
        {
            introController.showChargeIntro = true;
            _hasSplitted = true;
        }
        else if (_characterHand.numHandsDelivered > (numVisitorHandsBeforeSplit + numVisitorHandsAfterSplit))
        {
            _hasStoppedSpawning = true;
        }
    }
Beispiel #5
0
    /// <summary>
    /// 更新积分显示
    /// </summary>
    /// <param name="type"></param>
    /// <param name="integration"></param>
    public static void UpdateIntegration(CharacterType type)
    {
        Debug.Log(string.Format("UpdateIntegration==={0}", type.ToString()));
        string     str         = type.ToString();
        GameObject obj         = GameObject.Find(type.ToString());
        int        integration = obj.GetComponent <HandCards>().Integration;
        GameObject obj1        = GameObject.Find(type.ToString()).transform.FindChild("IntegrationLabel").gameObject;

        Text txt = obj1.GetComponent <Text> ();

        txt.text = string.Format("积分:{0}", integration);
        //ww obj.GetComponent<UILabel>().text = "积分:" + integration;
    }
Beispiel #6
0
        public Character(CharacterType type)
        {
            switch (type)
            {
            case CharacterType.Soldier:
                // create a soldier class
                ArmorClass       = 16;
                Speed            = 30;
                Initiative       = 1;
                HitpointsMaximum = 16;
                HitpointsCurrent = HitpointsMaximum;
                Actions          = new List <IAction>()
                {
                    new SimpleAttack()
                    {
                        DiceSides = 6, AttackBonus = 4, DamageBonus = 2, Name = "Spear Attack", Description = "Melee attack with a spear"
                    },
                    new SimpleAttack()
                    {
                        DiceSides = 6, AttackBonus = 4, DamageBonus = 2, Name = "Javelin Attack", Description = "Ranged attack with a javelin"
                    },
                };
                Type = type;
                Name = type.ToString();
                break;

            case CharacterType.Archer:
                // create an archer class
                ArmorClass       = 14;
                Speed            = 30;
                Initiative       = 2;
                HitpointsMaximum = 16;
                HitpointsCurrent = HitpointsMaximum;
                Actions          = new List <IAction>()
                {
                    new SimpleAttack()
                    {
                        DiceSides = 8, AttackBonus = 4, DamageBonus = 2, Name = "Longbow Attack", Description = "Ranged attack with a longbow"
                    }
                };
                Type = type;
                Name = type.ToString();
                break;

            case CharacterType.Unique:
            //throw new Exception("Cannot create an unique character without specific data");
            default:
                break;
            }
        }
Beispiel #7
0
    private void SpawnCharacterInLane(int laneIdx)
    {
        CharacterType characterType    = GetRandomCharacterTypeFromHand();
        int           characterTypeIdx = (int)characterType;

        if (characterTypeIdx >= visitorPrefabs.Length)
        {
            Debug.LogError("Trying to spawn character of type (" + characterType.ToString() + ") but no prefab has been defined for it.");
            return;
        }

        if (spawnLanes[laneIdx].standByCharacter != null)
        {
            spawnLanes[laneIdx].standByCharacter.targetPosition = spawnLanes[laneIdx].readyPosition;
            spawnLanes[laneIdx].readyCharacter = spawnLanes[laneIdx].standByCharacter;
        }

        GameObject characterGO = Instantiate(visitorPrefabs[characterTypeIdx], visitorParent);
        Character  character   = characterGO.GetComponent <Character>();

        spawnLanes[laneIdx].standByCharacter = character;

        character.targetPosition       = spawnLanes[laneIdx].standByPosition;
        characterGO.transform.position = spawnLanes[laneIdx].standByPosition.position;
    }
Beispiel #8
0
    /// <summary>
    /// 精灵化角色手牌
    /// </summary>
    /// <param name="type"></param>
    /// <param name="isSelected"></param>
    void MakeHandCardsSprite(CharacterType type, bool isSelected)
    {
        if (type == CharacterType.Desk)
        {
            DeskCardsCache instance = DeskCardsCache.Instance;
            for (int i = 0; i < instance.CardsCount; i++)
            {
                MakeSprite(type, instance[i], isSelected, i);
            }
        }
        else
        {
            GameObject parentObj = GameObject.Find(type.ToString());
            HandCards  cards     = parentObj.GetComponent <HandCards>();
            //排序
            cards.Sort();
            //精灵化
            for (int i = 0; i < cards.CardsCount; i++)
            {
                if (!cards[i].isSprite)
                {
                    MakeSprite(type, cards[i], isSelected, i);
                }
            }

            //显示剩余扑克
            UpdateLeftCardsCount(cards.cType, cards.CardsCount);
        }
        //调整精灵位置
        AdjustCardSpritsPosition(type);
    }
Beispiel #9
0
    /// <summary>
    /// 使卡牌精灵化
    /// </summary>
    /// <param name="type"></param>
    /// <param name="card"></param>
    /// <param name="selected"></param>
    void MakeSprite(CharacterType type, Card card, bool selected, int i)
    {
        Debug.Log(string.Format("MakeSprite11==={0}-{1}", card.GetCardSuit, card.GetCardWeight));

        if (!card.isSprite)
        {
            GameObject obj = Resources.Load <GameObject>(string.Format("poke_prefab/Poke_{0}_{1}", (int)card.GetCardSuit, (int)card.GetCardWeight)) as GameObject;
            // GameObject poker = NGUITools.AddChild(GameObject.Find(type.ToString()), obj);

            GameObject player = GameObject.Find(type.ToString());

            GameObject poker = Instantiate(obj);
            poker.transform.position = new Vector3(i * 25 - 200, 0, 0);
            poker.transform.SetParent(player.transform, false);


            CardSprite sprite = poker.AddComponent <CardSprite>();
            sprite.Poker  = card;
            sprite.Select = selected;

            Button pokebtn = poker.transform.Find("Button").gameObject.GetComponent <Button>();
//			pokebtn.name = string.Format("pokebtn_{0}_{1}",card.GetCardSuit, card.GetCardWeight);
//			pokeflag.Add(pokebtn.name, false);
//			pokebtn.onClick.AddListener(delegate() {
//				this.OnPokeClick(pokebtn);
//			});

//            CardSprite sprite = poker.gameObject.GetComponent<CardSprite>();
//            sprite.Poker = card;
//            sprite.Select = selected;
        }
    }
Beispiel #10
0
    // Update is called once per frame
    void Update()
    {
        if (x3 == null)
        {
            x3 = new Xbox360Controller(ID);
        }

        if (SignedIn)
        {
            float hor = x3.HorizontalAxis();
            float ver = x3.VerticalAxis();
            this.transform.position += new Vector3(hor, -ver) * speed;
        }
        else
        {
            if (x3.StartPressed())
            {
                SignedIn = true;
                this.GetComponent <SpriteRenderer> ().enabled            = true;
                select.transform.GetChild(1).GetComponent <Text> ().text = "";
                select.color = desired;
                SignedInCount++;
                AudioSource.PlayClipAtPoint(GameObject.FindObjectOfType <NetworkingObjectMenu>().click, GameObject.FindGameObjectWithTag("MainCamera").transform.position);
            }
        }

        if (collidingLevel != null)
        {
            if (x3.PressedJump())
            {
                LevelType level = collidingLevel.lt;
                GlobalProperties.LEVEL = level.ToString();
                collidingLevel.GetComponent <SpriteRenderer>().color = Color.red;
                AudioSource.PlayClipAtPoint(collidingLevel.noise, GameObject.FindGameObjectWithTag("MainCamera").transform.position);

                if (prevCollidingLevel == null || prevCollidingLevel == collidingLevel)
                {
                    prevCollidingLevel = collidingLevel;
                }
                else
                {
                    prevCollidingLevel.GetComponent <SpriteRenderer>().color = Color.white;
                    prevCollidingLevel = collidingLevel;
                }
            }
        }
        else if (colliding != null)
        {
            if (x3.PressedJump())
            {
                CharacterType character = colliding.ct;
                GlobalProperties.PLAYERCHOICE[ID - 1] = character.ToString();
                select.transform.GetChild(2).GetComponent <Image>().sprite    = GameObject.FindObjectOfType <CharacterDictionary>().GetByText(character.ToString());
                select.transform.GetChild(1).GetComponent <Text> ().text      = "\n" + character.ToString();
                select.transform.GetChild(1).GetComponent <Text> ().alignment = TextAnchor.UpperRight;
                AudioSource.PlayClipAtPoint(colliding.noise, GameObject.FindGameObjectWithTag("MainCamera").transform.position);
            }
        }
    }
Beispiel #11
0
        public static GameObject GetCharacter(CharacterType characterType)
        {
            LoadResources();
            Resources.ConstructCaches();
            //Resources.ClearCache();

            return(Resources.NetObjsByName[characterType.ToString()].Instantiate());
        }
Beispiel #12
0
 public override string ToString()
 {
     if (m_cht == CharacterType.None)
     {
         return("character");
     }
     return(m_cht.ToString());
 }
Beispiel #13
0
        public static EnemyType GetEnemy(CharacterType type)
        {
            if (!_enemies.ContainsKey(type))
            {
                throw new Exception("Enemy not defined: " + type.ToString());
            }

            return(_enemies[type]);
        }
Beispiel #14
0
        public static HeroType GetHero(CharacterType type)
        {
            if (!_heroes.ContainsKey(type))
            {
                throw new Exception("Hero not defined: " + type.ToString());
            }

            return(_heroes[type]);
        }
Beispiel #15
0
    public static string GetString(this CharacterType characterType)
    {
        //Capitalize the first letter and make everything else lowercase
        string characterString = characterType.ToString();

        characterString = characterString.Substring(0, 1).ToUpper()
                          + characterString.Substring(1).ToLower();
        return(characterString);
    }
Beispiel #16
0
 public void SetPlayer2Character(int cType)
 {
     if (cType == (int)CharacterType.Random)
     {
         cType = Random.Range(0, 2);
     }
     player2CharacterType = (CharacterType)cType;
     Debug.Log("Set player two to " + player2CharacterType.ToString());
 }
Beispiel #17
0
    /// <summary>
    /// 更新剩余扑克显示
    /// </summary>
    /// <param name="type"></param>
    /// <param name="cardsCount"></param>
    public static void UpdateLeftCardsCount(CharacterType type, int cardsCount)
    {
        GameObject obj = GameObject.Find(type.ToString()).transform.FindChild("LeftPoker").gameObject;

        Text txt = obj.GetComponent <Text> ();

        txt.text = string.Format("剩余扑克:{0}", cardsCount);
        //ww
        //  obj.GetComponent<UILabel>().text = "剩余扑克:" + cardsCount;
    }
        public static TextType BelongsTo(this CharacterType characterType)
        {
            TextType textType;

            if (Conformity.TryGetValue(characterType, out textType))
            {
                return(textType);
            }
            throw new ArgumentException($"This {characterType.ToString()} can't be transformed to text type");
        }
Beispiel #19
0
    /// <summary>
    /// 更换电脑玩家
    /// </summary>
    /// <param name="type"></param>
    /// <returns></returns>
    IEnumerator ChangeComputer(CharacterType type)
    {
        DisplayDeskNotice(true);
        yield return(new WaitForSeconds(3.0f));

        GameObject oldComputer = GameObject.Find(type.ToString());

        Destroy(oldComputer);
        MatchNewComputer(type);
    }
Beispiel #20
0
 /// <summary>
 /// 使卡牌精灵化
 /// </summary>
 /// <param name="type"></param>
 /// <param name="card"></param>
 /// <param name="selected"></param>
 void MakeSprite(CharacterType type, Card card, bool selected)
 {
     if (!card.isSprite)
     {
         GameObject obj    = Resources.Load("poker") as GameObject;
         GameObject poker  = NGUITools.AddChild(GameObject.Find(type.ToString()), obj);
         CardSprite sprite = poker.gameObject.GetComponent <CardSprite>();
         sprite.Poker  = card;
         sprite.Select = selected;
     }
 }
    private void SetIcon()
    {
        CharacterType playerName = (CharacterType)PlayerPrefs.GetInt(PlayerPrefKeys.CharacterKeyValue, (int)CharacterType.Soldier);
        string        ItemPath   = string.Format("Sprites/icon/{0}", playerName.ToString());
        Sprite        loadSprite = Resources.Load <Sprite>(ItemPath);

        if (loadSprite != null)
        {
            spriteRenderer.sprite = loadSprite;
        }
    }
Beispiel #22
0
    public override string ToString()
    {
        string result = "Room Happiness:";

        for (int characterTypeIdx = 0; characterTypeIdx < characterHappiness.Length; ++characterTypeIdx)
        {
            CharacterType characterType = (CharacterType)characterTypeIdx;
            result += "\n\tType " + characterType.ToString() + ": " + characterHappiness[characterTypeIdx].ToString("0.00");
        }
        return(result);
    }
    /// <summary>
    /// 创建卡牌预设
    /// </summary>
    /// <param name="card">卡片信息</param>
    public void CreateCardUI(Card card, int index, bool selected)
    {
        GameObject go = PoolManager.Instance.GetObject("Card");

        //@!33
        go.name = characterType.ToString() + index.ToString();
        CardUI cardUI = go.GetComponent <CardUI>();

        cardUI.Card     = card;
        cardUI.Selected = selected;
        cardUI.SetPosition(CreatePoint, index);
    }
        private void UpdateDisplay()
        {
            selectedCharacterText.text = _currentSelection.ToString() + additionalText[(int)_currentSelection];

            if (!lockedIn)
            {
                selectedCharacterImage.sprite = characterTypeSprites[(int)_currentSelection];
            }
            else
            {
                selectedCharacterImage.sprite = characterTypeSpritesSelected[(int)_currentSelection];
            }
        }
        /// <summary>
        /// Crea un personaje dado un tipo de personaje y un nombre
        /// </summary>
        public static Character GetCharacter(CharacterType type, string name)
        {
            switch (type)
            {
            case CharacterType.Elf: return(new Elf(name));

            case CharacterType.Wizard: return(new Wizard(name));

            case CharacterType.Troll: return(new Troll(name));

            default: throw new InvalidCharacterTypeException(type.ToString());
            }
        }
Beispiel #26
0
    /// <summary>
    /// 根据数据创建CardUI
    /// </summary>
    /// <param name="card">数据</param>
    /// <param name="index">索引</param>
    /// <param name="selected">上升?</param>
    private void CreateCardUI(Card card, int index, bool selected)
    {
        //对象池生成
        GameObject g = LeanPool.Spawn(prefab);

        g.name = characterType.ToString() + index.ToString();
        //设置位置和是否选中
        CardUI cardUI = g.GetComponent <CardUI>();

        cardUI.Card       = card;
        cardUI.IsSelected = selected;
        cardUI.SetPosition(CreatePoint, index);
    }
Beispiel #27
0
        /// <summary>
        /// Draws a string containing the Characters Classes on the character.
        ///
        /// <para>Calls the DrawDebug() of the Character's Statbars.</para>
        /// </summary>
        /// <param name="graphics">graphics object to draw on.</param>
        public override void drawDebug(Graphics graphics)
        {
            if (!IsDead)
            {
                graphics.DrawString(CharacterType.ToString(),
                                    DEBUG_FONT, Brushes.White,
                                    CurrentTile.centerX - CharacterType.WIDTH_HALF,
                                    CurrentTile.centerY);

                hpBar.drawDebug(graphics);
                charageBar.drawDebug(graphics);
            }
        }
Beispiel #28
0
 public override Task OnClick()
 {
     try {
         LOG.Log($"Selecting character {type}");
         CharacterCreationScreenRefresherService.SetHasCharacterTypeSelected(true);
         CharacterCreationScreenRefresherService.SetSelectedCharacterType(type);
         UIEvents.ChangeGameText(GameTextId.SelectedCharacterType, type.ToString());
         return(base.OnClick());
     }
     catch (System.Exception e) {
         LOG.Log(e);
         throw;
     }
 }
Beispiel #29
0
    void SetCharacter(CharacterType character)
    {
        characterNameText.text = character.ToString();
        switch (character)
        {
        case CharacterType.Ron:
            image.sprite = sprite;
            break;

        default:
            image.sprite = null;
            break;
        }
    }
Beispiel #30
0
    public static void AdjustCardSpritsPosition(CharacterType type)
    {
        Debug.Log("调整位置");

        if (type == CharacterType.Desk)
        {
            GameObject   parent = GameObject.Find("Canvas/" + type.ToString() + "/StartPoint");
            CardSprite[] cs     = parent.GetComponentsInChildren <CardSprite>();
            for (int i = 0; i < cs.Length; i++)
            {
                for (int j = 0; j < cs.Length; j++)
                {
                    if (cs[j].Poker == DeskCardsCache.Instance[i])
                    {
                        cs[j].GoToPosition(parent, i);
                    }
                }
            }
        }
        else
        {
            HandCards    hc     = GameObject.Find(type.ToString()).GetComponent <HandCards>();
            var          parent = GameObject.Find("Canvas/" + type.ToString() + "/StartPoint");
            CardSprite[] cs     = parent.GetComponentsInChildren <CardSprite>();
            for (int i = 0; i < hc.CardsCount; i++)
            {
                for (int j = 0; j < cs.Length; j++)
                {
                    if (cs[j].Poker == hc[i])
                    {
                        cs[j].GoToPosition(parent, i);
                    }
                }
            }
        }
    }
Beispiel #31
0
    public void SetCharacter(CharacterType characterType = CharacterType.Hero)
    {
        var data = CharacterData.Data;
        var tempid = Int32.Parse(data.getProp(BattleKeyConstants.BATTLE_KEY_HERO_TEMPLATE));
        templateData = HeroModelLocator.Instance.GetHeroByTemplateId(tempid);

        JobIndex = templateData.Job;
        var uisp = JobSprite.GetComponent<UISprite>();
        uisp.spriteName = (FootIndex == (int)FootColorType.Pink) ? "job_0" : "job_" + JobIndex;

        var isFriend = (characterType != CharacterType.Hero);
        FriendLabel.gameObject.SetActive(isFriend);
        if (isFriend)
        {
            FriendLabel.text = characterType.ToString();
        }
    }
	private static string GetCharacterPath(CharacterType characterType) {
		return "Characters/" + characterType.ToString();
	}