Example #1
0
        /// <summary>
        /// handles events coming in from the game manager
        /// </summary>
        protected virtual void HandleHoverCatGameEvent(object sender, HoverCatEventArgs args)
        {
            GameLog.Log(sender, this.ToString() + ":" + args.catEvent);
            switch (args.catEvent)
            {
            case HoverCatEvent.Show:
                this.Show();
                break;

            case HoverCatEvent.Hide:
                this.Freeze();
                this.Hide();
                break;

            case HoverCatEvent.Reset:
                this.Freeze();
                this.Home();
                this.Show();
                break;

            default:
                break;
            }
        }
Example #2
0
        //inherit old events then send out new ones for
        //the cat and any other objects assigned to the event.
        protected override void HandleStructureEvent(object sender, StructureARPluginEventArgs structureArgs)
        {
            base.HandleStructureEvent(sender, structureArgs);

            if (HoverCatGameEvent == null)
            {
                return;
            }

            switch (structureArgs.eventType)
            {
            case StructureARPluginEvent.TrackingLost:
                if (this.trackingIsGood != isCatTracking)
                {
                    if (this.gameState == SensorState.Playing)
                    {
                        HoverCatEventArgs catArgs = new HoverCatEventArgs(
                            this.gameState, this.trackingIsGood, HoverCatEvent.StateChange);
                        catArgs.catEvent = HoverCatEvent.Hide;
                        HoverCatGameEvent(this, catArgs);
                    }
                    isCatTracking = trackingIsGood;
                }
                break;

            case StructureARPluginEvent.TrackingFound:
                if (this.trackingIsGood != isCatTracking)
                {
                    if (this.gameState == SensorState.Playing)
                    {
                        HoverCatEventArgs catArgs = new HoverCatEventArgs(
                            this.gameState, this.trackingIsGood, HoverCatEvent.StateChange);
                        catArgs.catEvent = HoverCatEvent.Show;
                        HoverCatGameEvent(this, catArgs);
                    }
                    isCatTracking = trackingIsGood;
                }
                break;

            case StructureARPluginEvent.ScannedMeshReady:
                if (this.gameState == SensorState.Playing)
                {
                    HoverCatEventArgs catArgs = new HoverCatEventArgs(
                        this.gameState, this.trackingIsGood, HoverCatEvent.StateChange);
                    catArgs.catEvent = HoverCatEvent.Reset;
                    HoverCatGameEvent(this, catArgs);
                }
                break;

            case StructureARPluginEvent.CameraAccessRequired:
            case StructureARPluginEvent.SensorDisconnected:
            case StructureARPluginEvent.SensorNeedsCharging:
                if (this.gameState == SensorState.Playing)
                {
                    HoverCatEventArgs catArgs = new HoverCatEventArgs(
                        this.gameState, this.trackingIsGood, HoverCatEvent.StateChange);
                    catArgs.catEvent = HoverCatEvent.Hide;
                    HoverCatGameEvent(this, catArgs);
                }
                break;

            case StructureARPluginEvent.SensorConnected:
                if (this.gameState == SensorState.Playing)
                {
                    HoverCatEventArgs catArgs = new HoverCatEventArgs(
                        this.gameState, this.trackingIsGood, HoverCatEvent.StateChange);
                    catArgs.catEvent = HoverCatEvent.Show;
                    HoverCatGameEvent(this, catArgs);
                }
                break;

            case StructureARPluginEvent.UpdateProjectionMatrix:
            default:
                break;
            }
        }
        //inherit old events then send out new ones for
        //the cat and any other objects assigned to the event.
		protected override void HandleStructureEvent(object sender, StructureARPluginEventArgs structureArgs)
        {
			base.HandleStructureEvent(sender, structureArgs);

            if(HoverCatGameEvent == null)
            {
                return;
            }

            switch(structureArgs.eventType)
            {
                case StructureARPluginEvent.TrackingLost:
					if(this.trackingIsGood != isCatTracking)
                    {
                        if(this.gameState == SensorState.Playing)
                        {
                            HoverCatEventArgs catArgs = new HoverCatEventArgs(
                                this.gameState, this.trackingIsGood, HoverCatEvent.StateChange);
                            catArgs.catEvent = HoverCatEvent.Hide;
                            HoverCatGameEvent(this, catArgs);
                        }
                        isCatTracking = trackingIsGood;
                    }
                    break;
                
                case StructureARPluginEvent.TrackingFound:
					if(this.trackingIsGood != isCatTracking)
                    {
                        if(this.gameState == SensorState.Playing)
                        {
                            HoverCatEventArgs catArgs = new HoverCatEventArgs(
								this.gameState, this.trackingIsGood,  HoverCatEvent.StateChange);
                            catArgs.catEvent = HoverCatEvent.Show;
                            HoverCatGameEvent(this, catArgs);
                        }
						isCatTracking = trackingIsGood;
                    }
                    break;

                case StructureARPluginEvent.ScannedMeshReady:
					if(this.gameState == SensorState.Playing)
                    {
                        HoverCatEventArgs catArgs = new HoverCatEventArgs(
							this.gameState, this.trackingIsGood, HoverCatEvent.StateChange);
                        catArgs.catEvent = HoverCatEvent.Reset;
                        HoverCatGameEvent(this, catArgs);
                    }
                    break;

				case StructureARPluginEvent.CameraAccessRequired:
                case StructureARPluginEvent.SensorDisconnected:
				case StructureARPluginEvent.SensorNeedsCharging:
					if(this.gameState == SensorState.Playing)
                    {
                        HoverCatEventArgs catArgs = new HoverCatEventArgs(
							this.gameState, this.trackingIsGood, HoverCatEvent.StateChange);
                        catArgs.catEvent = HoverCatEvent.Hide;
                        HoverCatGameEvent(this, catArgs);
                    }
                    break;

                case StructureARPluginEvent.SensorConnected:
					if(this.gameState == SensorState.Playing)
                    {
                        HoverCatEventArgs catArgs = new HoverCatEventArgs(
							this.gameState, this.trackingIsGood, HoverCatEvent.StateChange);
                        catArgs.catEvent = HoverCatEvent.Show;
                        HoverCatGameEvent(this, catArgs);
                    }
                    break;

                case StructureARPluginEvent.UpdateProjectionMatrix:
                default:
                    break;
            }
        }
 /// <summary>
 /// handles events coming in from the game manager
 /// </summary>
 protected virtual void HandleHoverCatGameEvent(object sender, HoverCatEventArgs args)
 {
     GameLog.Log(sender, this.ToString() + ":" + args.catEvent);
     switch (args.catEvent)
     {
         case HoverCatEvent.Show:
             this.Show();
             break;
             
         case HoverCatEvent.Hide:
             this.Freeze();
             this.Hide();
             break;
             
         case HoverCatEvent.Reset:
             this.Freeze();
             this.Home();
             this.Show();
             break;
             
         default:
             break;
     }
 }