Esempio n. 1
0
    public override void OnUpdate(CharacterState owner)
    {
#if UNITY_EDITOR || UNITY_STANDALONE
        owner.transform.position += owner.transform.forward * Time.deltaTime * speed;
#else //Server AI Logic
        accumTime += Time.deltaTime;
        if (accumTime > updateAccumTime)
        {
            if (owner.GetType() == typeof(MonsterCharacter))
            {
                MonsterCharacter monster = (MonsterCharacter)owner;
                monster.SetStateIdle();
            }

            //Console.WriteLine("AIStateWalk.OnUpdate");
            accumTime = 0.0f;
        }
        else
        {
            //owner.PosZ += speed * Time.deltaTime;
            //Vector3.Forward of XnaGeometry is -Z
            //so you should  multiply -1 for serverside code
            owner.transform.position += owner.transform.forward * Time.deltaTime * speed;
        }
#endif
    }
Esempio n. 2
0
    public override void OnUpdate(CharacterState owner)
    {
        accumTime += Time.deltaTime;
        if (accumTime > 3.0f)
        {
            if (owner.GetType() == typeof(MonsterCharacter))
            {
                MonsterCharacter monster = (MonsterCharacter)owner;
                monster.SetStateIdle();
            }

            //Console.WriteLine("AIStateWalk.OnUpdate");
            accumTime = 0.0f;
        }
    }