public SliderHolder(Form Parent, string Name, EnterEvent Event, float min, float max)
        {
            this.Name  = Name;
            this.Event = Event;

            AddForm(ValueField = new Slider(Position + new Vector2(Font.MeasureString(Name).X, 0), new Vector2(200, Font.MeasureString(Name).Y), max, min, true, Event));
            SetSize(Font.MeasureString(Name) + new Vector2(ValueField.Size.X, 0));
        }
Пример #2
0
        public ValueHolder(Form Parent, string Name, EnterEvent Event)
        {
            this.Name  = Name;
            this.Event = Event;

            AddForm(ValueField     = new TextField(Position + new Vector2(Font.MeasureString(Name).X, 0), (int)Font.MeasureString(Value.ToString()).X, Font, Value.ToString(), Event));
            ValueField.NumbersOnly = true;
            ValueField.MaxChars    = 7;
        }
Пример #3
0
 public Slider(Vector2 Position, Vector2 Size, float MaxValue, float MinValue, bool NoValue, EnterEvent Event)
 {
     this.MaxValue = MaxValue;
     this.MinValue = MinValue;
     this.SetPosition(Position);
     this.SetSize(Size);
     this.Event        = Event;
     BackgroundTexture = Render.BlankTexture;
     this.NoValue      = NoValue;
     SetValue(CurrentValue);
 }
        public TextField(Vector2 Position, int Width, SpriteFont Font, string Text, EnterEvent Event)
        {
            StartCursor = 0;
            EndCursor   = Text.Count();

            this.Text = Text;
            this.Font = Font;
            this.SetPosition(Position);
            this.Event = Event;

            StartingWidth = Width;
            SetSize(new Vector2(Width, Font.MeasureString("Ajsdfklf523%#").Y));

            MaxChars = 300;
        }
Пример #5
0
 public virtual void Visit(EnterEvent ev)
 {
 }
Пример #6
0
        private void ComlpeteEventsTableFromDB(DateTime startPeriod, DateTime endPeriod, int emplCode, bool rp, int tz,
                                               bool isByDay = false)
        {
            DataTable tEvents;
            string    sql;

            if (rp)
            {
                sql = string.Format(
                    @"SELECT Dateadd(MINUTE,{3},[Когда]) as Когда, КодРасположения, CASE WHEN КодРасположения IS NULL THEN '' ELSE Считыватель END Расположение FROM vwПроходыСотрудников (nolock) 
WHERE (Dateadd(MINUTE,{3},[Когда]) >= convert(datetime, '{0}', 120)) AND (Dateadd(MINUTE,{3},[Когда]) <= convert(datetime, '{1}', 120)) AND (КодСотрудника = {2}) ORDER BY Когда",
                    startPeriod.Date.ToString("yyyy-MM-dd HH:mm:ss"),
                    endPeriod.Date.AddDays(1).ToString("yyyy-MM-dd HH:mm:ss"),
                    emplCode, tz);
                tEvents = DBManager.GetData(sql, Global.ConnectionString);
            }
            else
            {
                sql = string.Format(
                    @"SELECT Dateadd(MINUTE,{3},[Когда]) as Когда, КодРасположения FROM vwПроходыСотрудников (nolock) 
WHERE (Dateadd(MINUTE,{3},[Когда]) >= convert(datetime, '{0}', 120)) AND (Dateadd(MINUTE,{3},[Когда]) <= convert(datetime, '{1}', 120)) 
AND (КодСотрудника = {2}) ORDER BY Когда",
                    startPeriod.Date.ToString("yyyy-MM-dd HH:mm:ss"),
                    endPeriod.Date.AddDays(1).ToString("yyyy-MM-dd HH:mm:ss"),
                    emplCode, tz);
                tEvents = DBManager.GetData(sql, Global.ConnectionString);
            }

            var sourceEvents = new EnterEvent[tEvents.Rows.Count];

            for (var i = 0; i < tEvents.Rows.Count; i++)
            {
                var objExitTime = tEvents.Rows[i]["Когда"];
                if (DBNull.Value == objExitTime)
                {
                    continue;
                }

                var rowWhen = (DateTime)tEvents.Rows[i]["Когда"];

                sourceEvents[i].when = rowWhen;
                sourceEvents[i].code = DBNull.Value == tEvents.Rows[i]["КодРасположения"]
                    ? null
                    : (int?)tEvents.Rows[i]["КодРасположения"];
                sourceEvents[i].place = _resolvePlaces ? tEvents.Rows[i]["Расположение"].ToString() : string.Empty;
            }

            if (isByDay)
            {
                var filterString = string.Format("Когда >= '{0}' AND Когда <= '{1}'",
                                                 startPeriod.Date.AddDays(1).ToString("yyyy-MM-dd HH:mm:ss"),
                                                 endPeriod.Date.ToString("yyyy-MM-dd HH:mm:ss"));
                var source_rows = tEvents.Select(filterString, "Когда");

                _sourceEvents = new EnterEvent[sourceEvents.Length];

                for (var i = 0; i < source_rows.Length; i++)
                {
                    var objExitTime = source_rows[i]["Когда"];
                    if (DBNull.Value == objExitTime)
                    {
                        continue;
                    }

                    var rowWhen = (DateTime)source_rows[i]["Когда"];

                    _sourceEvents[i].when = rowWhen;
                    _sourceEvents[i].code = DBNull.Value == source_rows[i]["КодРасположения"]
                        ? null
                        : (int?)source_rows[i]["КодРасположения"];
                    _sourceEvents[i].place = _resolvePlaces ? source_rows[i]["Расположение"].ToString() : string.Empty;
                }

                //_sourceRowsByDay = tEvents.Select();
                _sourceEventsByDay = sourceEvents;
            }
            else
            {
                //_sourceRows = tEvents.Select();
                _sourceEvents = sourceEvents;
            }
        }
Пример #7
0
 protected virtual void OnEnter(Body body)
 {
     EnterEvent.Raise(level.server, body);
 }
Пример #8
0
 /// <summary>
 /// Raises the <see cref="E:EnterEvent" /> event.
 /// </summary>
 /// <param name="e">The <see cref="TileEventArgs"/> instance containing the event data.</param>
 protected virtual void OnEnterEvent(TileEventArgs e)
 {
     EnterEvent?.Invoke(this, e);
 }
Пример #9
0
    void    Update()
    {
        this.scene_timer += Time.deltaTime;
        this.disp_timer  -= Time.deltaTime;

        // ---------------------------------------------------------------- //
        // 다음 상태로 이동할지 체크합니다.

        switch (this.step.do_transition())
        {
        case STEP.GAME:
        {
        }
        break;
        }

        // ---------------------------------------------------------------- //
        // 상태가 전환될 때 초기화.

        while (this.step.get_next() != STEP.NONE)
        {
            switch (this.step.do_initialize())
            {
            case STEP.CHARACTER_CHANGE:
            {
                GlobalParam.get().account_name     = this.account_name_net;
                GlobalParam.get().skip_enter_event = true;

                Application.LoadLevel("GameScene 1");
            }
            break;

            case STEP.GAME:
            {
                this.account_name_local = GlobalParam.get().account_name;
                this.account_name_net   = GameRoot.getPartnerAcountName(this.account_name_local);

                if (this.owner == this.account_name_local)
                {
                    this.is_host = true;
                }
                else
                {
                    // 다른 플레이어의 마을에 갔을 때.
                    this.is_host = false;
                }

                // 플레이어를 만듭니다.
                this.local_player = CharacterRoot.get().createPlayerAsLocal(this.account_name_local);

                this.local_player.cmdSetPosition(Vector3.zero);

                if (GlobalParam.get().is_in_my_home == GlobalParam.get().is_remote_in_my_home)
                {
                    this.net_player = CharacterRoot.get().createPlayerAsNet(this.account_name_net);

                    this.net_player.cmdSetPosition(Vector3.left * 1.0f);
                }

                // 레벨 데이터(level_data.txt)를 읽고 NPC/아이템을 배치합니다.
                MapCreator.get().loadLevel(this.account_name_local, this.account_name_net, !this.is_host);

                SoundManager.get().playBGM(Sound.ID.TFT_BGM01);

                //

                if (!GlobalParam.get().skip_enter_event)
                {
                    EnterEvent enter_event = EventRoot.get().startEvent <EnterEvent>();

                    if (enter_event != null)
                    {
                        enter_event.setPrincipal(this.local_player.behavior as chrBehaviorPlayer);
                        enter_event.setIsLocalPlayer(true);
                    }
                }

                foreach (ItemManager.ItemState istate in GlobalParam.get().item_table.Values)
                {
                    if (istate.state == ItemController.State.Picked)
                    {
                        // 이미 아이템을 획득했다면 가져갈 수 있게 합니다.
                        ItemManager.get().finishGrowingItem(istate.item_id);
                        chrController controll = CharacterRoot.getInstance().findPlayer(istate.owner);
                        if (controll != null)
                        {
                            QueryItemPick query = controll.cmdItemQueryPick(istate.item_id, false, true);
                            if (query != null)
                            {
                                query.is_anon = true;
                                query.set_done(true);
                                query.set_success(true);
                            }
                        }
                    }
                }
            }
            break;

            // 다른 플레이어가 찾아왔습니다.
            case STEP.WELCOME:
            {
                if (this.net_player == null)
                {
                    EnterEvent enter_event = EventRoot.get().startEvent <EnterEvent>();

                    if (enter_event != null)
                    {
                        this.net_player = CharacterRoot.getInstance().createPlayerAsNet(this.account_name_net);

                        this.net_player.cmdSetPosition(Vector3.left);

                        enter_event.setPrincipal(this.net_player.behavior as chrBehaviorPlayer);
                        enter_event.setIsLocalPlayer(false);
                    }
                }
            }
            break;

            // 다른 플레이어가 돌아갑니다.
            case STEP.BYEBYE:
            {
                if (this.net_player != null)
                {
                    LeaveEvent leave_event = EventRoot.get().startEvent <LeaveEvent>();

                    if (leave_event != null)
                    {
                        leave_event.setPrincipal(this.net_player.behavior as chrBehaviorPlayer);
                        leave_event.setIsLocalPlayer(false);
                    }
                }
            }
            break;

            case STEP.VISIT:
            {
                GlobalParam.get().is_in_my_home = false;
                Application.LoadLevel("GameScene 1");
            }
            break;

            case STEP.GO_HOME:
            {
                // 자기 마을로 돌아옵니다.
                GlobalParam.get().is_in_my_home = true;
                Application.LoadLevel("GameScene 1");
            }
            break;

            case STEP.TO_TITLE:
            {
                Application.LoadLevel("TitleScene");
            }
            break;
            }
        }

        // ---------------------------------------------------------------- //
        // 각 상태에서의 실행 처리.

        switch (this.step.do_execution(Time.deltaTime))
        {
        case STEP.GAME:
        {
        }
        break;
        }

        // ---------------------------------------------------------------- //
        // 통신에 의한 이벤트 처리.

        // Network 클래스의 컴포넌트 획득.
        GameObject go      = GameObject.Find("Network");
        Network    network = go.GetComponent <Network>();

        if (network != null)
        {
            if (network.IsCommunicating() == true)
            {
                if (request_connet_event)
                {
                    // 접속 이벤트를 발동합니다.
                    GlobalParam.get().is_connected = true;
                    request_connet_event = false;
                }
                else if (GlobalParam.get().is_connected == false)
                {
                    // 접속했습니다.
                    Debug.Log("Guest connected.");
                    request_connet_event = true;
                    disp_timer           = 5.0f;
                }
            }
        }

        // 접속 종료 이벤트를 발동합니다.
        if (request_disconnet_event)
        {
            GlobalParam.get().is_disconnected = true;
            request_disconnet_event = false;
            // 접속 종료 시 이벤트.
            disconnect_event();
        }

        // ---------------------------------------------------------------- //

        if (Input.GetKeyDown(KeyCode.Z))
        {
            dbwin.console().print("로그 테스트 " + this.log_test_count);
            this.log_test_count++;
        }
    }
Пример #10
0
    // ================================================================ //

    protected void          create_debug_window()
    {
        var window = dbwin.root().createWindow("game");

        window.createButton("캐릭터를 변경합니다")
        .setOnPress(() =>
        {
            this.step.set_next(STEP.CHARACTER_CHANGE);
        });

        if (GlobalParam.get().is_in_my_home)
        {
            window.createButton("놀러갑니다!")
            .setOnPress(() =>
            {
                LeaveEvent leave_event = EventRoot.get().startEvent <LeaveEvent>();

                leave_event.setPrincipal(this.local_player.behavior as chrBehaviorPlayer);
                leave_event.setIsLocalPlayer(true);
            });
        }
        else
        {
            window.createButton("집으로 돌아갑니다~")
            .setOnPress(() =>
            {
                LeaveEvent leave_event = EventRoot.get().startEvent <LeaveEvent>();

                leave_event.setPrincipal(this.local_player.behavior as chrBehaviorPlayer);
                leave_event.setIsLocalPlayer(true);
            });
        }

        window.createButton("누군가 왔다!")
        .setOnPress(() =>
        {
            this.step.set_next(STEP.WELCOME);
        });

        window.createButton("바이바~이")
        .setOnPress(() =>
        {
            this.step.set_next(STEP.BYEBYE);
        });

        window.createButton("출발 이벤트 테스트")
        .setOnPress(() =>
        {
            LeaveEvent leave_event = EventRoot.get().startEvent <LeaveEvent>();

            leave_event.setPrincipal(this.local_player.behavior as chrBehaviorPlayer);
            leave_event.setIsLocalPlayer(true);
            leave_event.setIsMapChange(false);

            window.close();
        });

        window.createButton("도착 이벤트 테스트")
        .setOnPress(() =>
        {
            EnterEvent enter_event = EventRoot.get().startEvent <EnterEvent>();

            enter_event.setPrincipal(this.local_player.behavior as chrBehaviorPlayer);

            window.close();
        });

        window.createButton("이사 시작 이벤트 테스트")
        .setOnPress(() =>
        {
            HouseMoveStartEvent start_event = EventRoot.get().startEvent <HouseMoveStartEvent>();

            start_event.setPrincipal(this.local_player.behavior as chrBehaviorPlayer);
            start_event.setHouse(CharacterRoot.get().findCharacter <chrBehaviorNPC_House>("House1"));

            window.close();
        });
        window.createButton("이사 종료 이벤트 테스트")
        .setOnPress(() =>
        {
            HouseMoveEndEvent end_event = EventRoot.get().startEvent <HouseMoveEndEvent>();

            end_event.setPrincipal(this.local_player.behavior as chrBehaviorPlayer);
            end_event.setHouse(CharacterRoot.get().findCharacter <chrBehaviorNPC_House>("House1"));

            window.close();
        });
    }
Пример #11
0
 private void OnTriggerEnter(Collider other)
 {
     EnterEvent?.Invoke(other.gameObject);
 }
Пример #12
0
 public virtual void OnEnter(T col)
 {
     EnterEvent?.Invoke(col);
 }