Esempio n. 1
0
        private void HandleIdleStateChange()
        {
            switch (CurrentIdleState)
            {
            case IdleStates.Unset:
                CurrentIdleState = IdleStates.Inactive;
                HandleIdleStateChange();
                break;

            case IdleStates.Active:
                this.StatusImage.InvokeControl(img => img.BackColor = Color.Green);
                this.StatusLabel.InvokeControl(label => label.Text  = "Active");
                Broadcaster.Stop();
                break;

            case IdleStates.Inactive:
                this.StatusImage.InvokeControl(img => img.BackColor = Color.Gray);
                this.StatusLabel.InvokeControl(label => label.Text  = "Searching");
                Broadcaster.Start();
                break;

            case IdleStates.Idle:
                this.StatusImage.InvokeControl(img => img.BackColor = Color.Yellow);
                this.StatusLabel.InvokeControl(label => label.Text  = "Idle, Searching");
                Broadcaster.Start();
                break;
            }
        }
Esempio n. 2
0
    public static void AddState(State state)
    {
        switch (state.Type)
        {
        case States.Idle:
            var idle = state as IdleState;
            IdleStates.Add(idle);
            break;

        case States.Build:
            var build = state as BuildState;
            BuildStates.Add(build);
            break;

        case States.Attack:
            var attack = state as AttackState;
            AttackStates.Add(attack);
            break;

        case States.Conquer:
            var conquer = state as ConquerState;
            ConquerStates.Add(conquer);
            break;

        case States.Move:
            var move = state as MoveState;
            MoveStates.Add(move);
            break;
        }
    }
Esempio n. 3
0
 private void IdleTimerLoop()
 {
     while (true)
     {
         if (LastMessage.AddMilliseconds(IDLE_TIME_MILLI) < DateTime.Now)
         {
             CurrentIdleState = IdleStates.Idle;
             HandleIdleStateChange();
         }
         Thread.Sleep(IDLE_LOOP_TIME_MILLI);
     }
 }
Esempio n. 4
0
        private void Receiver_OnMouseSignalReceived(object sender, string e)
        {
            if (this.MessageTextBox.Text.Length > 1000)
            {
                this.MessageTextBox.InvokeControl(t => t.Text = "");
            }


            this.MessageTextBox.InvokeControl(t => t.Text = $"{e}\r\n{t.Text}");
            LastMessage = DateTime.Now;

            if (CurrentIdleState != IdleStates.Active)
            {
                CurrentIdleState = IdleStates.Active;
                HandleIdleStateChange();
            }
            Broadcaster.Pause(30);
        }
Esempio n. 5
0
        public MainForm()
        {
            InitializeComponent();

            CurrentIdleState = IdleStates.Unset;

            Mousepad = new Mousepad();
            Keyboard = new KeyboardEventRunner();

            Broadcaster = new ClientBroadcastSignaler(37015);

            Receiver = new Receiver(37015);
            Receiver.Start();
            Receiver.OnError += Receiver_OnError;

            Receiver.OnMouseMove            += (o, e) => { Mousepad.MoveMouse(e.X, e.Y); };
            Receiver.OnMouseLeftClick       += (o, e) => { Mousepad.LeftClick(); };
            Receiver.OnMouseRightClick      += (o, e) => { Mousepad.RightClick(); };
            Receiver.OnMouseDoubleLeftClick += (o, e) => { Mousepad.LeftDoubleClick(); };
            Receiver.OnMouseLeftPress       += (o, e) => { Mousepad.LeftDown(); };
            Receiver.OnMouseLeftRelease     += (o, e) => { Mousepad.LeftUp(); };
            Receiver.OnScrollwheelMove      += (o, e) =>
            {
                if (e > 0)
                {
                    Mousepad.ScrollDown();
                }
                else
                {
                    Mousepad.ScrollUp();
                }
            };

            Receiver.OnMouseSignalReceived += Receiver_OnMouseSignalReceived;

            LastMessage    = DateTime.Now;
            IdleLoopThread = new Thread(new ThreadStart(IdleTimerLoop));
            IdleLoopThread.IsBackground = true;
            IdleLoopThread.Start();

            HandleIdleStateChange();
        }
Esempio n. 6
0
	public override bool Idle(){
		switch (idleState) {
		case IdleStates.hover:
			rigidbody2D.AddForce(Vector2.up * deltaStart);
			break;
		case IdleStates.goUp:
			if(deltaStart < .35f) {
				//rigidbody2D.velocity = Vector2.zero;
				idleState = IdleStates.stabilizing;
			}
			   
			rigidbody2D.AddForce(Vector2.up * deltaStart * 2);
			break;
		case IdleStates.stabilizing:
			rigidbody2D.AddForce(Vector2.up * -2f);
			rigidbody2D.velocity *= .91f;
			if(rigidbody2D.velocity.y < .3f) idleState = IdleStates.hover;
			break;
		}
		return true;
	}
Esempio n. 7
0
    public static void RemoveState(State state)
    {
        switch (state.Type)
        {
        case States.Idle:
            if (IdleStates.Contains(state))
            {
                IdleStates.Remove(state);
            }
            break;

        case States.Build:
            if (BuildStates.Contains(state))
            {
                BuildStates.Remove(state);
            }
            break;

        case States.Attack:
            if (AttackStates.Contains(state))
            {
                AttackStates.Remove(state);
            }
            break;

        case States.Conquer:
            if (ConquerStates.Contains(state))
            {
                ConquerStates.Remove(state);
            }
            break;

        case States.Move:
            if (MoveStates.Contains(state))
            {
                MoveStates.Remove(state);
            }
            break;
        }
    }
Esempio n. 8
0
	IEnumerator CheckOffset(){
		while (true) {
			deltaStart = (startElevation -rigidbody2D.position.y);
			if(deltaStart > .35f){
				idleState = IdleStates.goUp;
			}
			yield return null;
		}
	}