Exemple #1
0
 void onEffectPushed(GraphicsEffect effect)
 {
     if (NotifyEffectPushed != null)
     {
         NotifyEffectPushed(effect);
     }
 }
Exemple #2
0
        public void PushEffect(GraphicsEffect effect)
        {
            effect.world = this;
            lock (effects)
                effects.Add(effect);

            onEffectPushed(effect);
        }
Exemple #3
0
        /*******************************************************************************
        *       $
        *******************************************************************************/

        public EffectEditor(GraphicsEffectEditor parentEditor, string label, GraphicsEffect effect, DependencyProperty dproperty)
        {
            this.ParentEditor = parentEditor;
            this.Effect       = effect;
            this.Dproperty    = dproperty;

            parentEditor.Members.Add(this, new Placecard(label));

            //E_editor.SetBinding(Slider.UserValue1Property, new Binding(dproperty, effect) { Mode = BindingMode.TwoWay });
            E_editor.BindToSourceProperty(effect, dproperty);

            E_checkBox.AddPropertyChangedListener(CheckBox.IsCheckedProperty, ValueChanged_IsChecked);
        }
Exemple #4
0
        void clientT_Update(GameTime obj)
        {
            NetIncomingMessage msg;

            //try
            //{
            while ((msg = client.ReadMessage()) != null)
            {
                switch (msg.MessageType)
                {
                case NetIncomingMessageType.DiscoveryResponse:
                    //connect to first discovered server
                    client.Connect(msg.SenderEndpoint);
                    break;

                case NetIncomingMessageType.Data:

                    ushort id;
                    string type;
                    byte   fid;
                    Actor  actor;

                    switch ((MessageDataType)msg.ReadByte())
                    {
                    case MessageDataType.GameStarting:
                        clientState = ClientState.Started;
                        break;

                    case MessageDataType.ActorCreated:
                        id   = msg.ReadUInt16();
                        type = msg.ReadString();
                        fid  = msg.ReadByte();

                        var f = getFactionFromID(fid);

                        if (cWorld.GetActorByID(id) == null && !bannedIDs.Contains(id) && f != null)
                        {
                            actor = UnitConverter.CreateActor(type, Vector2.Zero, f);
                            actor.ReadInInitialData(msg);

                            cWorld.AddActor(actor, id);
                        }

                        break;

                    case MessageDataType.ActorUpdate:
                        id = msg.ReadUInt16();

                        if ((actor = cWorld.GetActorByID(id)) != null)
                        {
                            actor.ReadInUpdateData(msg);
                        }
                        break;

                    case MessageDataType.ActorChangeUpdate:
                        id = msg.ReadUInt16();

                        if ((actor = cWorld.GetActorByID(id)) != null)
                        {
                            (actor as IChangeUpdate).ReadInChangeUpdateData(msg);
                        }
                        break;

                    case MessageDataType.ActorPushUpdate:
                        id = msg.ReadUInt16();

                        if ((actor = cWorld.GetActorByID(id)) != null)
                        {
                            (actor as IPushUpdate).ReadInPushUpdateData(msg);
                        }
                        break;

                    case MessageDataType.ActorDestroyed:
                        id = msg.ReadUInt16();
                        if ((actor = cWorld.GetActorByID(id)) != null)
                        {
                            cWorld.RemoveActor(actor);
                        }
                        else
                        {
                            bannedIDs.Add(id);         //prevent actor from being created if creation msg arrives in the future
                        }
                        break;

                    case MessageDataType.ResourceUpdate:
                        PlayerF.Resources.Metal   = msg.ReadFloat();
                        PlayerF.Resources.Crystal = msg.ReadFloat();
                        break;

                    case MessageDataType.PushEffect:
                        type = msg.ReadString();
                        GraphicsEffect effect = EffectFactory.CreateEffect(type);
                        effect.world = cWorld;
                        effect.ReadInInitialData(msg);
                        cWorld.PushEffect(effect);
                        break;

                    case MessageDataType.ResearchUnlocked:
                        var res = msg.ReadString();
                        PlayerF.UnlockResearch(res);
                        break;

                    case MessageDataType.BuildingUnlocked:
                        var build = msg.ReadString();
                        PlayerF.UnlockBuilding(build);
                        break;

                    case MessageDataType.GameOver:
                        gameOver = true;
                        this.clientT.Stop();
                        Console.WriteLine("Game over broham");
                        break;
                    }

                    break;
                }
            }
            //}
            //catch (Exception ex)
            //{
            //    Console.WriteLine("ERROR!! " + ex);
            //}
        }