} // ////////////////////////////////////////////////////////////////////////////// void assign(int n, float shift = 0f) { Targ t = v[n]; t.pnt = (shift == 0f) ? ptarg : d2p.addDist(pball, ptarg, shift); t.pnt.setObj(ref t.gobject); } // /////////////////////////////////////////////////////////////////////////////
} // ///////////////////////////////////////////////////////////////////////////////// bool setRes(int select) { bool bSeriesSucess = false; Targs targs = studyProcess.targs; if (targs.selectLast == select) { bSeriesSucess = targs.setChoise(select); if (bSeriesSucess) { mode = GameMode.waitShowResult; } return(bSeriesSucess); } else { } Targ targ = targs.targ; setCamera(targ.gobject); return(bSeriesSucess); } // ///////////////////////////////////////////////////////////////////////////////////
public override void EvTick(float DTime) { TickAnim(DTime); ProcessAct(Configuration.Dtime); if (Health.alive == false) { return; } if (State == AnimState.Zero) //В этом случае надо думать, что делать { CntThink++; if (Targ.Count == 0)//Пришли, что дальше? { ThinkNew(); CntThink = 0; } else if (Targ[Targ.Count - 1] == Location || CntThink >= MaxCntTh) { //А правильно ли мы идём? CntThink = 0; Console.WriteLine("Думаютб"); if (Targ[Targ.Count - 1] == Location) { Targ.RemoveAt(Targ.Count - 1); } if (Targ.Count == 0 || Near && Targ.Count == 1) { ThinkNew(); CntThink = 0; } else { if (ThinkMed()) { GoEventArgs g = new GoEventArgs() { CurPos = Location, TargPos = Targ[Targ.Count - 1], }; if (!ActGo(g, false))//если не сможет пройти, думоем { ThinkNew(g.IsAnimPr); CntThink = 0; } } else { if (State == AnimState.Zero) { ThinkNew(); CntThink = 0; } } } } else { //Просто идём GoEventArgs g = new GoEventArgs() { CurPos = Location, TargPos = Targ[Targ.Count - 1], }; if (!ActGo(g, false)) //если не сможет пройти, думоем { ThinkNew(g.IsAnimPr); CntThink = 0; } } } }