Esempio n. 1
0
        public override void OnInitGeometry()
        {
            var rbCmp = Arena.Owner.RigidBodyCmp;

            m_wallTimer         = new Timer(Engine.GameTime.Source, 1500);
            m_wallTimerEvent    = new TimerEvent(StartRotation);
            m_wallTimer.OnTime += m_wallTimerEvent;

            Asset <GameObjectDefinition> centerObjDef = Engine.AssetManager.GetAsset <GameObjectDefinition>("Arenas/JungleArena2/Center.lua::Center");

            m_centerPieceObject = new GameObject(centerObjDef);
            var centerPieceObjBodyCmp = m_centerPieceObject.FindComponent <RigidBodyComponent>();

            centerPieceObjBodyCmp.Body.CollidesWith        = (Category)CollisionType.All | (Category)CollisionType.Ball;
            centerPieceObjBodyCmp.Body.CollisionCategories = (Category)CollisionType.Wall;

            Engine.World.EventManager.AddListener((int)EventId.FirstPeriod, OnFirstPeriod);
            Engine.World.EventManager.AddListener((int)EventId.HalfTime, OnHalfTime);
            Engine.World.EventManager.AddListener((int)EventId.HalfTimeTransition, OnHalfTimeTransition);
            Engine.World.EventManager.AddListener((int)EventId.SecondPeriod, OnSecondPeriod);
            Engine.World.EventManager.AddListener((int)EventId.MatchEnd, OnMatchEnd);

            m_launchersInitTransform = new LBE.Core.Transform[Arena.Launchers.Count];

            for (int i = 0; i < Arena.Launchers.Count; i++)
            {
                LauncherComponent launcher = (LauncherComponent)Arena.Launchers[i];
                m_launchersInitTransform[i] = new LBE.Core.Transform(launcher.Position, launcher.Owner.Orientation);
            }

            rbCmp.Body.CollidesWith        = (Category)CollisionType.All | (Category)CollisionType.Ball;
            rbCmp.Body.CollisionCategories = (Category)CollisionType.Wall;
        }
Esempio n. 2
0
        public override void OnUpdate()
        {
            Engine.Log.Debug("lp ", m_launchersInitTransform[0]);

            if (moving)
            {
                speed += Engine.GameTime.ElapsedMS / accelTime * maxSpeed;
                speed  = LBE.MathHelper.Clamp(0, maxSpeed, speed);
                angle += speed * Engine.GameTime.ElapsedMS;
            }
            else if (speed > 0)
            {
                speed -= Engine.GameTime.ElapsedMS / accelTime * maxSpeed;
                speed  = LBE.MathHelper.Clamp(0, maxSpeed, speed);
                angle += speed * Engine.GameTime.ElapsedMS;
            }

            m_centerPieceObject.Orientation = angle;

            float goalRadius = Engine.Debug.EditSingle("GoalPos", 120);

            Arena.LeftGoal.Owner.Orientation  = angle;
            Arena.LeftGoal.Owner.Position     = goalRadius * Vector2.UnitX.Rotate(angle);
            Arena.RightGoal.Owner.Orientation = angle;
            Arena.RightGoal.Owner.Position    = -goalRadius *Vector2.UnitX.Rotate(angle);

            for (int i = 0; i < Arena.Launchers.Count; i++)
            {
                LauncherComponent launcher = (LauncherComponent)Arena.Launchers[i];

                launcher.Owner.Orientation = m_launchersInitTransform[i].Orientation + angle;
                launcher.Owner.Position    = m_launchersInitTransform[i].Position.Rotate(angle);
            }
        }
Esempio n. 3
0
        private void InitGunBarrelDate()
        {
            LauncherComponent obj = m_HandleObj.GetComponent <LauncherComponent>();

            m_GunBarrelDate.LightDot       = obj.m_LightDot;
            m_GunBarrelDate.MoveLight      = obj.m_MoveLight;
            m_GunBarrelDate.MuzzleEft      = obj.m_MuzzleEft;
            m_GunBarrelDate.PlaySpriteAnim = obj.m_PlaySpriteAnim;
            m_GunBarrelDate.ComponentCount = obj.m_ComponentCount;
            GameObject.Destroy(m_HandleObj.GetComponent <LauncherComponent>());
        }
Esempio n. 4
0
 public LauncherView(LauncherComponent component = null) : base(component)
 {
     InitializeComponent();
     Load();
 }