예제 #1
0
 private CharacterState GetFrontCharacterInCol(PartyState party, int c)
 {
     for (var r = 0; r < Party.TOTAL_ROWS; r++)
     {
         var target = party.CharacterStates[r][c];
         if (target != null && target.Alive)
         {
             return(target);
         }
     }
     return(null);
 }
예제 #2
0
파일: GuiPartyInfo.cs 프로젝트: bsimser/CoM
 private static void setState(PartyState value)
 {
     _state = value;
     if (_state == PartyState.Normal)
     {
         Mouse.CursorMode = CursorType.Standard;
     }
     else
     {
         Mouse.CursorMode = CursorType.Select;
     }
 }
예제 #3
0
        public static IEnumerable <IPartyState> ToPartyStateCollection(IEnumerable <string> ids)
        {
            var states = new List <PartyState>();

            foreach (var id in ids)
            {
                var s = new PartyState();
                s.PartyId = id;
                states.Add(s);
            }
            return(states);
        }
예제 #4
0
        public static void Postfix(ref ScreenBase __instance)
        {
            if (__instance is GauntletPartyScreen partyScreen && screenLayer == null)
            {
                screenLayer = new GauntletLayer(10);

                var        traverser  = Traverse.Create(partyScreen);
                PartyVM    partyVM    = traverser.Field <PartyVM>("_dataSource").Value;
                PartyState partyState = traverser.Field <PartyState>("_partyState").Value;

                enhancementVm = new PartyEnhancementsVM(partyVM, partyState.PartyScreenLogic, partyScreen);
                screenLayer.LoadMovie("PartyScreenEnhancements", enhancementVm);
                screenLayer.InputRestrictions.SetInputRestrictions(true, InputUsageMask.All);
                partyScreen.AddLayer(screenLayer);
            }
        }
예제 #5
0
파일: GuiPartyInfo.cs 프로젝트: bsimser/CoM
        public override void Update()
        {
            menuButton.SelfEnabled = !Party.InCombat;

            base.Update();

            Sync();

            // Restore back to default state when we click the mouse button.
            if (State != PartyState.Normal && Input.GetMouseButtonUp(0))
            {
                State = PartyState.Normal;
                if (OnPartyMemberChoosen != null)
                {
                    OnPartyMemberChoosen(null);
                }
            }
        }
예제 #6
0
    public void SetState(Scenario s, PartyState partyState)
    {
        foreach (Transform child in tickParent)
        {
            Destroy(child.gameObject);
        }

        currentThreatAnimated = currentThreat = partyState.threatThreshold;
        threatMax             = s.threatMax;
        threatStack           = partyState.threatStack;

        if (s.threatNotUsed || s.threatObserver.Count() == 0)
        {
            numberArea.SetActive(false);
            return;
        }

        AddThresholdTick();

        DOTween.To(() => currentThreatAnimated, x => currentThreatAnimated = x, currentThreat, 2).SetEase(Ease.InOutQuad);
    }
예제 #7
0
        static public void WaitForPartyState(XDevkit.IXboxConsole xbc, PartyState state, TimeSpan timeout)
        {
            PartyState      state2;
            PartyErrorCodes codes;
            TimeSpan        span;
            DateTime        now = DateTime.Now;

            do
            {
                Thread.Sleep(0x7d0);
                GetPartyState(xbc, out state2, out codes);
                span = (TimeSpan)(DateTime.Now - now);
            }while ((state2 != state) && (span < timeout));
            if (codes != PartyErrorCodes.XPARTY_ERROR_NONE)
            {
            }
            if ((span >= timeout) && (state2 != state))
            {
                throw new PartyTimeOutException();
            }
        }
예제 #8
0
    public void SaveState(Engine engine, string fullPath)
    {
        //TODO return a bool for success?
        campaignState    = CampaignState.GetState();
        partyState       = PartyState.GetState(engine);
        triggerState     = engine.triggerManager.GetState();
        objectiveState   = engine.objectiveManager.GetState();
        monsterState     = GlowEngine.FindObjectOfType <MonsterManager>().GetState();
        chapterState     = engine.chapterManager.GetState();
        tileState        = engine.tileManager.GetState();
        interactionState = engine.interactionManager.GetState();
        camState         = GlowEngine.FindObjectOfType <CamControl>().GetState();

        //string basePath = Path.Combine( Environment.ExpandEnvironmentVariables( "%userprofile%" ), "Documents", "Your Journey", "Saves" );
        string basePath = GetFullSavePath();

        if (basePath is null)
        {
            return;
        }

        string output = JsonConvert.SerializeObject(this, Formatting.Indented, new Vector3Converter());

        //string outpath = Path.Combine( basePath, "SAVE" + saveIndex + ".sav" );
        Debug.Log("SaveState::SAVING TO: " + fullPath);

        try
        {
            using (var stream = File.CreateText(fullPath))
            {
                stream.Write(output);
            }
        }
        catch
        {
            Debug.Log("Could not save the state");
        }
    }
        private PartyState NewEmptyState(Type type)
        {
            PartyState state = null;
            Type       clazz = null;

            if (state != null)
            {
                // do nothing.
            }
            else if (type.Equals(typeof(PartyState)))
            {
                clazz = typeof(PartyState);
            }
            else if (type.Equals(typeof(OrganizationState)))
            {
                clazz = typeof(OrganizationState);
            }
            else
            {
                throw new ArgumentException(String.Format("type: {0}", type.Name));
            }
            state = (PartyState)clazz.GetConstructor(new Type[0]).Invoke(new object[0]);
            return(state);
        }
예제 #10
0
        public static void WaitForPartyState(XDevkit.IXboxConsole xbc, PartyState state, TimeSpan timeout)
        {
            PartyState state2;
            PartyErrorCodes codes;
            TimeSpan span;
            DateTime now = DateTime.Now;
            do
            {
                Thread.Sleep(0x7d0);
                GetPartyState(xbc, out state2, out codes);
                span = (TimeSpan)(DateTime.Now - now);
            }
            while ((state2 != state) && (span < timeout));
            if (codes != PartyErrorCodes.XPARTY_ERROR_NONE)
            {

            }
            if ((span >= timeout) && (state2 != state))
            {
                throw new PartyTimeOutException();
            }
        }
예제 #11
0
 public static void GetPartyState(XDevkit.IXboxConsole xbc, out PartyState state, out PartyErrorCodes errorCode)
 {
     XDRPCExecutionOptions options = new XDRPCExecutionOptions(XDRPCMode.Title, "xam.xex", 0xb0f);
     XDRPCArgumentInfo<uint> info = new XDRPCArgumentInfo<uint>(0, ArgumentType.Out);
     XDRPCArgumentInfo<uint> info2 = new XDRPCArgumentInfo<uint>(0, ArgumentType.Out);
     ((XDevkit.IXboxConsole)xbc).ExecuteRPC<uint>(options, new XDRPCArgumentInfo[] { info, info2 });
     state = (PartyState)info.Value;
     errorCode = (PartyErrorCodes)info2.Value;
 }
예제 #12
0
 //Setters
 public void SetState(PartyState state)
 {
     mModel._State = state;
 }
 public PartyManagerExtended(PartyState partyState) : base(partyState)
 {
 }
예제 #14
0
 public void Reject()
 {
     this.State = this.State.GotoRejected();
 }
예제 #15
0
 public void Confirm()
 {
     this.State = this.State.GotoConfirmed();
     Publish(new PartyConfirmed(Id, Name));
 }
예제 #16
0
 protected Party(long id)
 {
     this.Id    = id;
     this.State = PartyStateFactory.Create <PendingState>();
 }