コード例 #1
0
        public RavenDBDataSource(IDocumentStore store, BindingNavigator bn, BindingSource bs)
        {
            _store        = store;
            this.PageSize = 20;

            _bn = bn;
            _bs = bs;

            if (_bn.AddNewItem != null)
            {
                _bn.AddNewItem.Visible = false;
            }
            if (_bn.DeleteItem != null)
            {
                _bn.DeleteItem.Visible = false;
            }

            _bn.MoveFirstItem.Click    += MoveFirstItem_Click;
            _bn.MoveLastItem.Click     += MoveLastItem_Click;
            _bn.MoveNextItem.Click     += MoveNextItem_Click;
            _bn.MovePreviousItem.Click += MovePreviousItem_Click;

            _bn.MoveFirstItem.Enabled    = true;
            _bn.MoveLastItem.Enabled     = true;
            _bn.MoveNextItem.Enabled     = true;
            _bn.MovePreviousItem.Enabled = true;
            _bn.PositionItem.Enabled     = true;

            delayEvent           = new DelayEvent();
            delayEvent.ActualDo += delayEvent_ActualDo;
        }
コード例 #2
0
    private IEnumerator Wait(float delay, DelayEvent e)
    {
        var wait = new WaitForSeconds(delay);

        yield return(wait);

        e.Invoke();
        e.Destroy();
    }
コード例 #3
0
        public async Task <BaseResponse> MqClientSendDelay()
        {
            DelayEvent nomalEvent = new DelayEvent {
                Content = " hello "
            };

            _rabbitMqClient.SendMessageDelay(nomalEvent, DateTime.Now.AddSeconds(15));

            return(BaseResponse.Ok());
        }
コード例 #4
0
ファイル: TextUI.cs プロジェクト: TouLong/TaikouBattle
    public static TextMesh Pop <T>(T content, Color color, Vector3 position, int fontSize = -1, float time = 0f)
    {
        GameObject gameObject = new GameObject("Text Pop", typeof(TextMesh), typeof(TextPop));

        gameObject.transform.position = position;
        TextPop pop = gameObject.GetComponent <TextPop>();

        pop.Setup((fontSize > 0 ? fontSize : defualtFontSize) / 2f);
        DelayEvent.Create(time > 0 ? time : defualtPopTime, pop.DestorySelf);
        return(ConfigTextMesh(gameObject.GetComponent <TextMesh>(), content, color, fontSize));
    }
コード例 #5
0
 void OnEnable()
 {
     _jobs = new AsyncHelper.DelayedJob[delayEvents.Length];
     for (int i = 0; i < delayEvents.Length; i++)
     {
         float      delay      = delayEvents[i].delaySeconds;
         DelayEvent onComplete = delayEvents[i].onDelayAfterOnEnable;
         _jobs[i] = AsyncHelper.DoAfterDelay(delay, () => {
             onComplete?.Invoke();
         }
                                             );
     }
 }
コード例 #6
0
 void OnTriggerEnter(Collider other)
 {
     if (other.gameObject.layer == 9)//Ground
     {
         if (delayTimer != null)
         {
             return;
         }
         delayTimer = DelayEvent.Create(delayTime, () =>
         {
             onEnter?.Invoke();
             Destroy(this);
         });
     }
 }
コード例 #7
0
    public int _Add(DelayEventHandler handler, double delay, bool useLogicUpdate = false, string name = "")
    {
        if (handler == null)
        {
            return(0);
        }

        if (!string.IsNullOrEmpty(name))
        {
            var ee = m_events.Find(d => d.name == name);
            if (ee != null)
            {
                ee.Destroy();
            }
        }

        var e = DelayEvent.Create(delay, ++m_eventID, name, handler, useLogicUpdate);

        return(e.id);
    }
コード例 #8
0
            public void ReallocateComputeBuffer()
            {
                VertexMaxCount *= 2;

                var oldBufB = computeBufferBack;
                var oldBufF = computeBufferFront;

                var e = new DelayEvent();

                e.RestTime = 5;
                e.Event    = () =>
                {
                    oldBufB.Dispose();
                    oldBufF.Dispose();
                };
                delayEvents.Add(e);

                computeBufferFront = new ComputeBuffer(VertexMaxCount, VertexSize, ComputeBufferType.Default);
                computeBufferBack  = new ComputeBuffer(VertexMaxCount, VertexSize, ComputeBufferType.Default);
                computeBufferTemp  = new byte[VertexMaxCount * VertexSize];
            }
コード例 #9
0
ファイル: ZEvent.cs プロジェクト: thachgiasoft/shuijin
        public void Notify(string callEvent, IEventArgs args, float delayTime = 0)
        {
            List <IEventListener> listeners = null;

            if (EventDict.TryGetValue(callEvent, out listeners))
            {
                if (delayTime < 0)
                {
                    for (int i = 0; i < listeners.Count; i++)
                    {
                        IEventListener listener = listeners[i];
                        try { listener.OnNotify(args); }
                        catch (Exception e) { App.Logger.Error(e); }
                    }
                }
                else
                {
                    DelayEvent oDelayEvent = new DelayEvent(callEvent, args, delayTime, Notify);
                    oDelayEvent.ToNotify();
                }
            }
        }
コード例 #10
0
    private static WaveEvent ProcessWaveEvent(XmlNode node)
    {
        WaveEvent wEvent = null;

        string tag = node.Name;

        switch (tag)
        {
        case "dialog":
            string id = node.Attributes["ref"].InnerText;
            wEvent = new DialogEvent(id);
            break;

        case "enemy":
            int type = int.Parse(node.Attributes["type"].InnerText);
            Debug.Log("Type: " + type);
            int qta   = int.Parse(node.Attributes["qta"].InnerText);
            int delay = int.Parse(node.Attributes["delay"].InnerText);
            wEvent = new GenerateEnemyEvent((UFOType)type, qta, delay);
            break;

        case "wait":
            wEvent = new WaitEvent();
            break;

        case "delay":
            int time = int.Parse(node.Attributes["seconds"].InnerText);
            wEvent = new DelayEvent(time);
            break;

        case "powerup":
            //int ptype = int.Parse(node.Attributes["type"].InnerText);
            wEvent = new PowerUpEvent();
            break;
        }

        return(wEvent);
    }
コード例 #11
0
ファイル: Scr_Event.cs プロジェクト: zk213/Coronavirus
    public void EventEffectControl(int i)
    {
        XmlDocument xmlDoc = new XmlDocument();

        xmlDoc.LoadXml(((TextAsset)Resources.Load("Xml/Event")).text);
        XmlElement xmlNode = xmlDoc.DocumentElement;

        foreach (XmlNode elements in xmlNode)
        {
            XmlElement element = elements as XmlElement;
            if (element == null)
            {
                continue;
            }
            if (element.LocalName == "event")
            {
                if (element.Attributes["id"].Value == i.ToString())
                {
                    XmlElement effects = element.SelectSingleNode("effects") as XmlElement;
                    int.TryParse(effects.Attributes["amount"].Value, out int amount);
                    for (int a = 0; a < amount; a++)
                    {
                        var effect = effects.ChildNodes[a] as XmlElement;
                        if (isImportantList.Contains(i))
                        {
                            if (effect.HasAttribute("CG"))
                            {
                                int.TryParse(effect.Attributes["CG"].Value, out int CGI);
                                if (CGI != CGIndex)
                                {
                                    continue;
                                }
                            }
                        }
                        switch (effect.Attributes["type"].Value)
                        {
                        case "value":
                            float value = float.Parse(effect.Attributes["value"].Value);
                            switch (effect.InnerText)
                            {
                            case "Influence":
                                num.InfluenceVal = InnerEffectValue(effect.Attributes["sign"].Value, num.InfluenceVal, value);
                                break;

                            default:
                                break;
                            }
                            break;

                        case "news":
                            int.TryParse(effect.Attributes["index"].Value, out int newsIndex);
                            if (effect.HasAttribute("slot"))
                            {
                                switch (effect.Attributes["slot"].Value)
                                {
                                case "Influence":
                                    AddNews(newsIndex, num.InfluenceVal.ToString());
                                    break;

                                default:
                                    AddNews(newsIndex, "");
                                    break;
                                }
                            }
                            else
                            {
                                AddNews(newsIndex, "");
                            }
                            break;

                        case "event":
                            int delayDay = 0;
                            int.TryParse(effect.Attributes["index"].Value, out int eventIndex);
                            if (effect.HasAttribute("delay"))
                            {
                                int.TryParse(effect.Attributes["delay"].Value, out delayDay);
                            }
                            if (UnActiveEvent.Contains(eventIndex))
                            {
                                if (delayDay > 0)
                                {
                                    DelayEvent.Add(eventIndex);
                                    DelayDay.Add(delayDay);
                                    UnActiveEvent.Remove(eventIndex);
                                }
                                else
                                {
                                    ActiveEvent.Add(eventIndex);
                                    UnActiveEvent.Remove(eventIndex);
                                }
                            }
                            break;

                        case "message":
                            Debug.Log(effect.InnerText);
                            break;

                        default:
                            break;
                        }
                    }
                }
            }
        }
    }
コード例 #12
0
 public PlayAudioEvent(DelayEvent eventData)
 {
     _audioType = eventData.AuidoType;
     _audioClip = eventData.Audio;
 }
コード例 #13
0
ファイル: CombatControl.cs プロジェクト: TouLong/TaikouBattle
    void Selecting()
    {
        highlight = null;
        bool onPlayer  = false;
        bool hasPlayer = Unit.player != null;

        if (Mouse.Hit(out RaycastHit hit, LayerMask.GetMask("Unit")))
        {
            highlight = hit.transform.GetComponent <Unit>();
            if (hasPlayer)
            {
                onPlayer = playerTeam.memebers.Contains(highlight);
            }
        }
        bool showInfo     = Input.GetKey(KeyCode.LeftAlt);
        bool action       = Input.GetKeyDown(KeyCode.Space);
        bool selectPlayer = Mouse.LeftDown && onPlayer;

        foreach (Unit unit in Unit.All)
        {
            if (action)
            {
                unit.Display(Unit.Highlight.Nothing);
            }
            else if (unit == highlight)
            {
                Unit.Highlight state = Unit.Highlight.Attack | Unit.Highlight.Outline | Unit.Highlight.Info;
                if (onPlayer)
                {
                    state |= Unit.Highlight.Moving;
                }
                unit.Display(state);
            }
            else
            {
                Unit.Highlight state = Unit.Highlight.Nothing;
                if (showInfo)
                {
                    state |= Unit.Highlight.Info | Unit.Highlight.Attack;
                }
                unit.Display(state);
            }
        }
        Hint.self.space.SetActive(!selectPlayer && !action);
        Hint.self.alt.SetActive(!showInfo && !action);
        Hint.self.control.SetActive(onPlayer && !selectPlayer && !action);
        Hint.self.shift.SetActive(false);
        Hint.self.ctrl.SetActive(selectPlayer && !action);
        Hint.self.right.SetActive(selectPlayer && !action);
        Hint.self.confirm.SetActive(selectPlayer && !action);
        if (selectPlayer)
        {
            selected = highlight as Player;
            selected.ControlStart();
            stateUpdate = Control;
        }
        else if (action)
        {
            stateUpdate = null;
            Team.NonUser.NpcDecision();
            if (hasPlayer)
            {
                playerTeam.memebers.ForEach(x => (x as Player).StatusReset());
            }
            Unit.Action(() =>
            {
                Unit.Alive.RemoveAll(x => x.isDie);
                Team.All.RemoveAll(x => x.memebers.Count == 0);
                Team.NonUser.RemoveAll(x => x.memebers.Count == 0);
                if (Team.All.Count == 1 && !testing)
                {
                    stateUpdate = null;
                    DelayEvent.Create(2f, () =>
                    {
                        Arena.ContestComplete(Team.All.First());

                        Team.All.Clear();
                        Team.NonUser.Clear();
                        Unit.All.Clear();
                        Unit.Alive.Clear();
                    });
                }
                else
                {
                    Team.All.ForEach(x => x.Update());
                    stateUpdate = Selecting;
                }
            });
        }
    }
コード例 #14
0
ファイル: Common.cs プロジェクト: wwo0oww/BaseGame
 public static void Delay(int time, DelayEvent even)
 {
     Thread.Sleep(time);
     even();
 }
コード例 #15
0
 public LabelEvent(DelayEvent eventData)
 {
     _data = eventData;
 }
コード例 #16
0
 public HintEvent(DelayEvent eventData)
 {
     _data = eventData;
 }
コード例 #17
0
 public void Initialize(GunObject g)
 {
     gun     = g;
     onDelay = new DelayEvent();
 }
コード例 #18
0
 public ChangeBodyEvent(DelayEvent eventData)
 {
     _bodyPos     = eventData.BodyPos;
     _bodyShowPos = eventData.BodyShowType;
     _body        = eventData.Body;
 }