public int AddPartner(ActorPlayer host, PartnerSortType sortPos, int typeId) { if (typeId <= 0) { return(0); } if (host == null) { return(0); } int entityId = GameEntry.Entity.GenerateSerialId(); PartnerEntityData data = new PartnerEntityData(entityId, typeId, ActorType.Partner, BattleCampType.Ally, host, sortPos); Vector3 pPos = host.GetPartnerPosBySort(sortPos); data.Position = pPos; data.Rotation = host.CachedTransform.rotation; data.Scale = Vector3.one * 1.5f; AddRole <PartnerRole>(data); return(entityId); }
public Vector3 GetPartnerPosBySort(PartnerSortType sortType) { switch (sortType) { case PartnerSortType.Middle: return(Pos + new Vector3(0, 0, 2)); case PartnerSortType.Left: return(Pos + new Vector3(-2, 0, 0)); case PartnerSortType.Right: return(Pos + new Vector3(2, 0, 0)); default: return(Pos); } }
public PartnerEntityData(int entityId, int typeId, ActorType actorType, BattleCampType campType, ActorBase host, PartnerSortType sortPos) : base(entityId, typeId, actorType, campType) { Host = host; SortPos = sortPos; }