예제 #1
0
    public string GetNextRandomName(ICollection <NameElement> tokens)
    {
        if (tokens == null)
        {
            return(GetNextRandomName());
        }

        var result = "";

        var rule = UnityRandom.RandomFromList(m_RulesList.List);

        foreach (var token in rule)
        {
            if (UnityRandom.Bool(token.Value))
            {
                var tokenChoise = m_SyllableDictionary[token.Key];
                var syllable    = tokenChoise.GetSyllable();
                result += syllable;

                tokens.Add(new NameElement()
                {
                    m_Tag = token.Key, m_Syllable = syllable
                });
            }
        }

        return(result);
    }
예제 #2
0
    public void Dead()
    {
        if (m_State == CharacterState.Dead)
        {
            return;
        }

        SoundManager.Instance.Play("Dead");

        Destroy(GetComponent <Collider2D>());
        transform.rotation = Quaternion.Euler(0.0f, 0.0f, (UnityRandom.Bool() ? 1: -1) * UnityEngine.Random.Range(45.0f, 135.0f));

        if (implIsNative())
        {
            m_CurrentHub.DefenderIsDead(this);
        }
        else
        {
            Tribe.Instance.CharacterIsDead(this);
        }

        if (m_State == CharacterState.Travel)
        {
            SwarmManager.Instance.Initialize();
        }

        m_Animator.enabled = false;

        m_State = CharacterState.Dead;
    }
예제 #3
0
    private void implDead()
    {
        m_Animate.enabled   = false;
        m_Rotate.enabled    = false;
        m_Translate.enabled = false;

        Destroy(GetComponent <Collider2D>());
        transform.rotation = Quaternion.Euler(0.0f, 0.0f, (UnityRandom.Bool() ? 1 : -1) * UnityEngine.Random.Range(45.0f, 135.0f));
    }
 //////////////////////////////////////////////////////////////////////////
 public override void iProceedTurn()
 {
     if (UnityRandom.Bool(m_PhotoChanse))
     {
         PlayerEntity.Instance.m_ActionSequence.Add(new Actor.ActionPhoto()
         {
             m_Delay = Random.Range(m_PhotoDelay.x, m_PhotoDelay.y),
             Master  = Master
         });
     }
 }
예제 #5
0
    public string GetNextRandomName()
    {
        var result = "";

        // get random token combination
        var rule = UnityRandom.RandomFromList(m_RulesList.List);

        foreach (var token in rule)
        {
            // roll token chance
            if (UnityRandom.Bool(token.Value))
            {
                var tokenChoise = m_SyllableDictionary[token.Key];
                result += tokenChoise.GetSyllable();
            }
        }

        return(result);
    }
예제 #6
0
 void Start()
 {
     transform.rotation = Quaternion.Euler(0.0f, 0.0f, (UnityRandom.Bool() ? 1: -1) * UnityEngine.Random.Range(45.0f, 135.0f));
     Destroy(this);
 }