public PDateTime(PDate date, PTime time) : this(PapillonPINVOKE.new_PDateTime__SWIG_2(PDate.getCPtr(date), PTime.getCPtr(time)), true) { if (PapillonPINVOKE.SWIGPendingException.Pending) { throw PapillonPINVOKE.SWIGPendingException.Retrieve(); } }
public PTime(PTime other) : this(PapillonPINVOKE.new_PTime__SWIG_5(PTime.getCPtr(other)), true) { if (PapillonPINVOKE.SWIGPendingException.Pending) { throw PapillonPINVOKE.SWIGPendingException.Retrieve(); } }
public PPeriod(string _Name) { Name = _Name; Before = new PTime(Name + "开始前"); Start = new PTime(Name + "开始时"); During = new PTime(Name); End = new PTime(Name + "结束时"); After = new PTime(Name + "结束后"); Next = new PTime(Name + "的下一个时期"); }
public int Compare(PTime other) { int ret = PapillonPINVOKE.PTime_Compare(swigCPtr, PTime.getCPtr(other)); if (PapillonPINVOKE.SWIGPendingException.Pending) { throw PapillonPINVOKE.SWIGPendingException.Retrieve(); } return(ret); }
public int GetMillisecondsTo(PTime t) { int ret = PapillonPINVOKE.PTime_GetMillisecondsTo(swigCPtr, PTime.getCPtr(t)); if (PapillonPINVOKE.SWIGPendingException.Pending) { throw PapillonPINVOKE.SWIGPendingException.Retrieve(); } return(ret); }
//Ticker for Plank CountDown void PTimer_Tick(object sender, object e) { if (PTime > 0) { PTime--; if (PTime > 45) { PlankCountdown.Text = ("Timer begins in " + (PTime - 45).ToString()); } else { PlankCountdown.Text = (PTime.ToString() + " Seconds Remaining"); } } else { Timer.Stop(); PTime = 50; } }
public PTime GetTime() { PTime ret = new PTime(PapillonPINVOKE.PDateTime_GetTime(swigCPtr), true); return(ret); }
public Position(float latitute, float lontitute, PTime time) { this.latitute = latitute; this.lontitute = lontitute; this.time = time; }
public VecTime(Vector3 worldPosition, PTime time) { this.worldPosition = worldPosition; this.time = time; }
// 宣布一个时机的到来 public void CallTime(PTime Time) { PLogger.Log("时机到来:" + Time.Name); if (Time.IsPeroidTime() && EndTurnDirectly) { PLogger.Log("阶段立刻结束"); return; } List <PPlayer> Sequence = SettleSequence(); List <PTrigger> ValidTriggerList; List <PTrigger> AlreadyTriggerList = new List <PTrigger>(); foreach (PPlayer Judger in Sequence) { AlreadyTriggerList.Clear(); PLogger.Log("开始启动" + (Judger == null ? "null" : Judger.Name) + "的响应"); while ((ValidTriggerList = TriggerList.FindAll((PTrigger Trigger) => { if (Trigger.Time.Equals(Time) && Trigger.Player == Judger && !AlreadyTriggerList.Contains(Trigger) && (Judger == null || Judger.IsAlive)) { PLogger.Log(" 执行判定:" + Trigger.Name); bool Condition = Trigger.Condition(Game); bool AiCondition = Condition && (Judger == null || Judger.IsUser || Trigger.AICondition(Game)); return(AiCondition); } else { return(false); } })).Count > 0) { PTrigger ChosenTrigger = null; if (Judger == null || Judger.IsAI) { ChosenTrigger = PMath.Max(ValidTriggerList, (PTrigger Trigger) => Trigger.AIPriority).Key; } else { if (ValidTriggerList.Count == 1 && ValidTriggerList[0].IsLocked) { ChosenTrigger = ValidTriggerList[0]; } else { string[] TriggerNames = ValidTriggerList.ConvertAll((PTrigger Trigger) => Trigger.Name + (Trigger.IsLocked ? "(锁定)" : string.Empty)).ToArray(); if (ValidTriggerList.TrueForAll((PTrigger Trigger) => !Trigger.IsLocked)) { TriggerNames = TriggerNames.Concat(new string[] { "取消" }).ToArray(); } int ChosenResult = PNetworkManager.NetworkServer.ChooseManager.Ask(Judger, "选择以下效果发动", TriggerNames); if (ChosenResult < ValidTriggerList.Count) { ChosenTrigger = ValidTriggerList[ChosenResult]; } } } if (ChosenTrigger != null) { Game.Logic.StartSettle(new PSettle("于[" + Time.Name + "]触发[" + ChosenTrigger.Name + "]", (PGame Game) => { ChosenTrigger.Effect(Game); })); if (!ChosenTrigger.CanRepeat) { AlreadyTriggerList.Add(ChosenTrigger); } if (Time.IsPeroidTime() && EndTurnDirectly) { PLogger.Log("阶段立刻结束"); return; } if (Time.Equals(PTime.EnterDyingTime)) { PDyingTag DyingTag = Game.TagManager.FindPeekTag <PDyingTag>(PDyingTag.TagName); if (DyingTag.Player != null && DyingTag.Player.Money > 0) { PLogger.Log("脱离濒死状态"); return; } } } else { break; } } } PLogger.Log("时机结束:" + Time.Name); }
public T CallTime <T>(PTime Time, T OriginalTag) where T : PTag { Game.TagManager.CreateTag(OriginalTag); CallTime(Time); return(Game.TagManager.PopTag <T>(OriginalTag.Name)); }
public PTrigger FindEquipmentTrigger(PTime Time) { return(MoveInEquipTriggerList.Find((PTrigger Trigger) => Trigger.Time.Equals(Time))); }
public PTrigger FindTrigger(PTime Time) { return(MoveInHandTriggerList.Find((PTrigger Trigger) => Trigger.Time.Equals(Time))); }
public static PTime Current() { PTime ret = new PTime(PapillonPINVOKE.PTime_Current(), true); return(ret); }
internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PTime obj) { return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr); }
public PTime AddMillisecond(int n) { PTime ret = new PTime(PapillonPINVOKE.PTime_AddMillisecond(swigCPtr, n), true); return(ret); }