Ejemplo n.º 1
0
        public override void OnUpdate(double dt, BaseControllers controllers)
        {
            base.OnUpdate(dt, controllers);
            var followObj = controllers.GetRootScene().GetGameObject(m_followObj);

            if (followObj != null)
            {
                var tarTransformComp = followObj.GetComponents().GetComponent <Components.ComponentTransform>();
                if (tarTransformComp != null)
                {
                    var tarPos = tarTransformComp.GetPosition();
                    if (m_topLeftExtend != null)
                    {
                        tarPos.X = Math.Max(tarPos.X, m_topLeftExtend.Value.X);
                        tarPos.Y = Math.Max(tarPos.Y, m_topLeftExtend.Value.Y);
                    }
                    if (m_botRightExtend != null)
                    {
                        tarPos.X = Math.Min(tarPos.X, m_botRightExtend.Value.X);
                        tarPos.Y = Math.Min(tarPos.Y, m_botRightExtend.Value.Y);
                    }
                    var transformComp = GetComponents().GetComponent <Components.ComponentTransform>();
                    if (transformComp != null)
                    {
                        transformComp.SetPosition(tarPos);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        public override void OnUpdate(double dt, BaseControllers controllers)
        {
            base.OnUpdate(dt, controllers);
            var transComp = GetComponents().GetComponent <ComponentTransform>();

            m_visual.SetPosition(transComp.GetPosition());
            m_visual.SetAngle(transComp.GetAngle());
        }
Ejemplo n.º 3
0
 public override void Tick(BaseControllers controllers, GameObject owner, double dt)
 {
     base.Tick(controllers, owner, dt);
     if (GetPeerType() != PeerType.PT_Remote)
     {
         return;
     }
 }
Ejemplo n.º 4
0
        public override ReplicationData GetReplicationData(BaseControllers controllers, GameObject ownerEnt)
        {
            var transComp = ownerEnt.GetComponents().GetComponent <ComponentTransform>();

            return(new CharacterReplicationData()
            {
                CharacterId = ownerEnt.GetId(), Position = MathHelpers.SytemVecToOpenTkVec(transComp.GetPosition()), Angle = transComp.GetAngle()
            });
        }
Ejemplo n.º 5
0
        public override void OnUpdate(double dt, BaseControllers controllers)
        {
            var     clientControllers = controllers as ClientControllers;
            Vector2 dir       = new Vector2();
            var     transform = GetComponents().GetComponent <ComponentTransform>();

            if (!GetComponents().HasComponent <ComponentAiSystem>())
            {
                if (clientControllers.GetkeyboardState().IsKeyDown(Key.A))
                {
                    dir.X = -1;
                }
                if (clientControllers.GetkeyboardState().IsKeyDown(Key.D))
                {
                    dir.X = 1;
                }
                if (clientControllers.GetkeyboardState().IsKeyDown(Key.W))
                {
                    dir.Y = 1;
                }
                if (clientControllers.GetkeyboardState().IsKeyDown(Key.S))
                {
                    dir.Y = -1;
                }
                if (dir.LengthSquared() > 0)
                {
                    dir = Vector2.Normalize(dir);
                    if (transform != null)
                    {
                        transform.SetPosition(transform.GetPosition() + dir * m_movementSpeed * (float)dt);
                    }
                }
                if (transform != null)
                {
                    var mousePos = clientControllers.GetMousePosInScreenSpace();
                    var lookDir  = mousePos - transform.GetPosition();
                    lookDir = Vector2.Normalize(lookDir);
                    var ang = (float)Math.Acos(Vector2.Dot(lookDir, new Vector2(1.0f, 0)));
                    if (Vector2.Dot(lookDir, new Vector2(0, 1)) < 0)
                    {
                        ang = -ang;
                    }
                    transform.SetAngle(ang);
                }
            }
            if (i_isDirty(transform))
            {
                var replicator = GetComponents().GetComponent <ComponentReplicator>();
                clientControllers.GetNetClient().SendRPC(new Networking.ClientServer.NetPackets.CharacterUpdateClientPacket()
                {
                    replicationData = replicator.GetReplicationData(controllers, this)
                }, ShootyShootyBangBangEngine.Network.NetWrapOrdering.Unreliable);
                m_lastAngle = transform.GetAngle();
                m_lastPos   = transform.GetPosition();
            }
            base.OnUpdate(dt, controllers);
        }
Ejemplo n.º 6
0
 public virtual void OnUpdate(double dt, BaseControllers controllers)
 {
     foreach (var gameObjectKv in m_gameObjects)
     {
         gameObjectKv.Value.OnUpdate(dt, controllers);
     }
     foreach (var kv in m_addQueue)
     {
         m_gameObjects[kv.Value.GetId()] = kv.Value;
     }
 }
Ejemplo n.º 7
0
        public override void OnReplicate(BaseControllers controllers, GameObject ownerEnt, ComponentReplicator.ReplicationData replicationData)
        {
            if (GetPeerType() == PeerType.PT_Local)
            {
                return;
            }
            var characterReplicationData = replicationData as CharacterReplicationData;
            var transComp = ownerEnt.GetComponents().GetComponent <ComponentTransform>();

            transComp.SetPosition(MathHelpers.OpenTkVecToSystemVec(characterReplicationData.Position));
            transComp.SetAngle(characterReplicationData.Angle);
        }
Ejemplo n.º 8
0
 public virtual void OnUpdate(double dt, BaseControllers controllers)
 {
     m_components.Update(controllers, this, dt);
 }
Ejemplo n.º 9
0
 public Game(BaseControllers controllers)
 {
     m_controllers = controllers;
 }